今日も昨日の続き。
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)