今日も昨日の続き。
how-to-make-stock-trading-system.dogwood008.com
下記の要約の続きを行っていく。
データの時間枠と圧縮
下記のコードでデータを取得できる。
data = ibstore.getdata(dataname='EUR.USD-CASH-IDEALPRO', timeframe=bt.TimeFrame.Ticks, compression=1, # 1 is the default rtbar=True, # use RealTimeBars ) cerebro.adddata(data)
compression
と timeframe
のパラメータがサポートされる。
timeframe
に Ticks
を指定するのが重要であり、その理由は下記の通り。
- 埋め戻しが行われない(IBがサポートする最小単位は Seconds/1 )
RealTimeBars
がdataname
によって要求され、サポートされる場合でも、RealTimeBars
の最小分解能が Seconds/5 であるため、使用されない
いずれにせよ、Ticks/1 の分解能で作業しない限り、データをリサンプリング/再生 (resampled/replayed)する必要がある。 RealTimeBars
が動作する前述の例:
data = ibstore.getdata(dataname='TWTR-STK-SMART', rtbar=True) cerebro.resampledata(data, timeframe=bt.TimeFrame.Seconds, compression=20)