コード例 #1
0
 def __init__(self, feed, instrument, n):
     strategy.BacktestingStrategy.__init__(self, feed)
     self.__instrument = instrument
     self.getBroker().setFillStrategy(DefaultStrategy(None))
     self.getBroker().setCommission(TradePercentage(0.001))
     self.__apDataSeries = feed['orcl'].getApDataSeries()
     self.__sma = ma.SMA(self.__apDataSeries, n)
     self.__position = None
コード例 #2
0
 def __init__(self, feed, instrument, bBandsPeriod):
     strategy.BacktestingStrategy.__init__(self, feed)
     self.__instrument = instrument
     self.getBroker().setFillStrategy(DefaultStrategy(None))
     self.getBroker().setCommission(TradePercentage(0.0002))
     self.__position = None
     self.setUseAdjustedValues(False)
     self.__bbands = bollinger.BollingerBands(feed[instrument].getCloseDataSeries(), bBandsPeriod, 2)
コード例 #3
0
ファイル: doubleMA.py プロジェクト: grayfox7744/quantLibrary
 def __init__(self, feed, instrument, n, m):
     strategy.BacktestingStrategy.__init__(self, feed)
     self.__instrument = instrument
     self.getBroker().setFillStrategy(DefaultStrategy(None))
     self.getBroker().setCommission(TradePercentage(0.001))
     self.__position = None
     self.__prices = feed[instrument].getPriceDataSeries()
     self.__malength1 = int(n)
     self.__malength2 = int(m)
コード例 #4
0
ファイル: SingleMA.py プロジェクト: grayfox7744/quantLibrary
 def __init__(self, feed, instrument, n, initialCash=1000000):
     strategy.BacktestingStrategy.__init__(self, feed, initialCash)
     self.__instrument = instrument
     self.getBroker().setFillStrategy(DefaultStrategy(None))
     self.getBroker().setCommission(TradePercentage(0.001))
     self.__position = None
     self.__prices = feed[instrument].getPriceDataSeries()
     self.__malength = int(n)
     self.__ma = ma.SMA(self.__prices, self.__malength)
     self.__pos = SequenceDataSeries()  # record signal
コード例 #5
0
    def __init__(self, feed, instrument, mall, mals, masl, mass):
        strategy.BacktestingStrategy.__init__(self, feed)
        self.getBroker().setFillStrategy(DefaultStrategy(None))
        self.getBroker().setCommission(TradePercentage(0.001))
        self.__instrument = instrument
        self.__close = feed[instrument].getCloseDataSeries()
        self.__longPos = None
        self.__shortPos = None
        self.__mall = ma.SMA(self.__close, int(mall))
        self.__mals = ma.SMA(self.__close, int(mals))
        self.__masl = ma.SMA(self.__close, int(masl))
        self.__mass = ma.SMA(self.__close, int(mass))

        self.__position = SequenceDataSeries()
コード例 #6
0
ファイル: bollinger_bandit.py プロジェクト: fswzb/pyQuant-2
    def __init__(self, feed, instrument, bollingerlength, numStdDev,
                 closelength, ccMAlength, malength, space):
        strategy.BacktestingStrategy.__init__(self, feed)
        self.getBroker().setFillStrategy(DefaultStrategy(None))
        self.getBroker().setCommission(TradePercentage(0.002))
        self.__instrument = instrument
        self.__bollingerlength = int(bollingerlength)
        numStdDev = float(numStdDev) / 10
        self.__closelength = int(closelength)
        self.__ccMAlength = int(ccMAlength)
        self.__malength = int(malength)
        self.__longPos = None
        self.__shortPos = None
        self.__close = feed[instrument].getCloseDataSeries()
        self.__open = feed[instrument].getOpenDataSeries()
        self.__high = feed[instrument].getHighDataSeries()
        self.__low = feed[instrument].getLowDataSeries()
        self.__datetime = feed[instrument].getDateTimes()
        self.__bollinger = bollinger.BollingerBands(self.__close,
                                                    self.__bollingerlength,
                                                    int(numStdDev))
        self.__UpperBand = self.__bollinger.getUpperBand()
        self.__LowerBand = self.__bollinger.getLowerBand()
        self.__MA = SequenceDataSeries()
        self.__space = int(space)
        self.__enter = 0
        self.__enterLong1 = 0
        self.__enterLong2 = 0
        self.__enterShort1 = 0
        self.__enterShort2 = 0
        self.__exitLong1 = 0
        self.__exitLong2 = 0
        self.__exitShort1 = 0
        self.__exitShort1 = 0

        #for test
        #########################################################################
        self.__p = SequenceDataSeries()
        self.__filterCon = SequenceDataSeries()
        self.__ccMACon1 = SequenceDataSeries()
        self.__ccMACon2 = SequenceDataSeries()
        self.__enterCon = SequenceDataSeries()
        self.__enterLongCon1 = SequenceDataSeries()
        self.__enterLongCon2 = SequenceDataSeries()
        self.__enterShortCon1 = SequenceDataSeries()
        self.__enterShortCon2 = SequenceDataSeries()
        self.__exitLongCon1 = SequenceDataSeries()
        self.__exitLongCon2 = SequenceDataSeries()
        self.__exitShortCon1 = SequenceDataSeries()
        self.__exitShortCon2 = SequenceDataSeries()
コード例 #7
0
    def __init__(self, feed, instrument, length, initialCash=1000000):
        strategy.BacktestingStrategy.__init__(self, feed, initialCash)
        self.__instrument = instrument
        self.getBroker().setFillStrategy(DefaultStrategy(None))
        self.getBroker().setCommission(TradePercentage(0.001))
        self.__position = None
        self.__prices = feed[instrument].getPriceDataSeries()
        self.__malength = int(length)

        self.__datetime = feed[instrument].getDateTimes()
        self.__open = feed[instrument].getOpenDataSeries()
        self.__high = feed[instrument].getHighDataSeries()
        self.__low = feed[instrument].getLowDataSeries()
        self.__close = feed[instrument].getCloseDataSeries()
コード例 #8
0
    def __init__(self, feed, instrument, short_l, mid_l, long_l, up_cum):
        strategy.BacktestingStrategy.__init__(self, feed)
        self.__instrument = instrument
        self.getBroker().setFillStrategy(DefaultStrategy(None))
        self.getBroker().setCommission(TradePercentage(0.001))
        self.__position = None
        self.__prices = feed[instrument].getPriceDataSeries()
        self.__malength1 = int(short_l)
        self.__malength2 = int(mid_l)
        self.__malength3 = int(long_l)
        self.__circ = int(up_cum)

        self.__ma1 = ma.SMA(self.__prices, self.__malength1)
        self.__ma2 = ma.SMA(self.__prices, self.__malength2)
        self.__ma3 = ma.SMA(self.__prices, self.__malength3)
コード例 #9
0
 def __init__(self,
              feed,
              instrument,
              fast,
              slow,
              signal,
              initialCash=1000000):
     strategy.BacktestingStrategy.__init__(self, feed, initialCash)
     self.__instrument = instrument
     self.getBroker().setFillStrategy(DefaultStrategy(None))
     self.getBroker().setCommission(TradePercentage(0.001))
     self.__position = None
     self.__prices = feed[instrument].getPriceDataSeries()
     self.__fast = int(fast)
     self.__slow = int(slow)
     self.__signal = int(signal)
コード例 #10
0
    def __init__(self, feed, instrument, short_l, mid_l, long_l, up_cum):
        strategy.BacktestingStrategy.__init__(self, feed)
        self.__instrument = instrument
        self.getBroker().setFillStrategy(DefaultStrategy(None))
        self.getBroker().setCommission(TradePercentage(0.0002))
        self.__position = None
        self.setUseAdjustedValues(False)
        self.__prices = feed[instrument].getPriceDataSeries()
        self.__malength1 = int(short_l)
        self.__malength2 = int(mid_l)
        self.__malength3 = int(long_l)
        self.__circ = int(up_cum)

        self.__ma1 = ma.SMA(self.__prices, self.__malength1)
        self.__ma2 = ma.SMA(self.__prices, self.__malength2)
        self.__ma3 = ma.SMA(self.__prices, self.__malength3)

        self.__datetime = feed[instrument].getDateTimes()
        self.__open = feed[instrument].getOpenDataSeries()
        self.__high = feed[instrument].getHighDataSeries()
        self.__low = feed[instrument].getLowDataSeries()
        self.__close = feed[instrument].getCloseDataSeries()
コード例 #11
0
    def __init__(self, feed, instrument,up_cum,cash_or_brk=10000):
        strategy.BacktestingStrategy.__init__(self, feed)
        self.__instrument = instrument
        self.getBroker().setFillStrategy(DefaultStrategy(None))
        self.getBroker().setCommission(TradePercentage(0.001))
        self.__position = None
        self.__prices = feed[instrument].getPriceDataSeries()
        self.__circ = int(up_cum)
        #self.bardata = feed[instrument]
        #self.N = atr.ATR(self.bardata, up_cum)
        self.N = atr.ATR(self.getFeed()[self.__instrument], up_cum)
        self.U = 0  # 总资金100w  self.U = acount/(50*atr)  2%最大回撤+10倍杠杆  atr day:100  10min:20  1min:5  5w本金 day :1  10min:5 1min:20 #单个市场上 最多建立4个U

        self.buyPrice = []
        self.shortPrice = []
        self.max20 = 0
        self.min10 = 0
        self.max10 = 0
        self.min20 = 0
        self.buyPrice0 = 0
        self.shortPrice0 = 0
        self.lastPrice0 = 0
        self.lastPrice1 =0
コード例 #12
0
    def __init__(self, feed, instrument, bBandsPeriod, dl):
        strategy.BacktestingStrategy.__init__(self, feed)
        self.__instrument = instrument
        self.getBroker().setFillStrategy(DefaultStrategy(None))
        self.getBroker().setCommission(TradePercentage(0.0002))
        self.__position = None
        self.bBandsPeriod = bBandsPeriod
#        self.setUseAdjustedValues(False)
        self.close = feed[instrument].getCloseDataSeries()
        self.open = feed[instrument].getOpenDataSeries()
        self.high = feed[instrument].getHighDataSeries()
        self.low = feed[instrument].getLowDataSeries()
        self.datetime = feed[instrument].getDateTimes()
        self.volume = feed[instrument].getVolumeDataSeries()
        self.feed = feed.get_dataFrame()
        # self.__bollinger = bollinger.BollingerBands(self.__close, self.bBandsPeriod,2)
        # self.__UpperBand = self.__bollinger.getUpperBand()
        # self.__LowerBand = self.__bollinger.getLowerBand()
        # self.feed = feed[instrument].getCloseDataSeries()
#        self.bar = feed[instrument].getClose()
        self.dl = dl
        self.op = []
        # self.ra = []
        self.ral = []
        self.rah = []
        self.boll = []
        self.macd = []
        self.rsi = []
        self.kdj = []
        self.rsi = []
        self.ma = []
        self.adj = []
        # self.adjh = []
        self.bdj = []
        # self.bdjh = []
        self.statusl = []
        self.statush = []