2

IB から RI にデータをダウンロードするために、次の手順に従いました. こことほぼ同じです: https://cran.r-project.org/web/packages/IBrokers/vignettes/IBrokers.pdf

それはすべて機能します。ただしreqHistoricalData、有効期限が切れた月では機能しません。次のコードを実行すると、次のエラー メッセージが表示されます

#DOES NOT WORK (using expired month)
tws <- twsConnect()
mydata <- reqHistoricalData(tws, twsFuture("ES","GLOBEX","201603"), barSize='1 min', duration='5 D', useRTH='0', whatToShow='TRADES')

#YET THE FOLLOWING DO WORK (using unexpired months)
mydata <- reqHistoricalData(tws, twsFuture("ES","GLOBEX","201606"), barSize='1 min', duration='5 D', useRTH='0', whatToShow='TRADES')
mydata <- reqHistoricalData(tws, twsFuture("ES","GLOBEX","201609"), barSize='1 min', duration='5 D', useRTH='0', whatToShow='TRADES')
getContract("ES_M6")

IB の FAQ は、そのメッセージについて次のように述べています。株式契約、グローバル シンボルと取引クラスを空白のままにしてください。」( https://www.interactivebrokers.com/en/software/api/apiguide/tables/frequentlyaskedquestions.htmにあります)

これについての洞察をいただければ幸いです。ありがとうございました。

4

1 に答える 1

2

include_expiredtrueに設定する必要があります。コードは次のようになると思います。

twsFuture("ES","GLOBEX","201603",include_expired='1')

ドキュメントからの引数の完全なリストは次のとおりです。

twsEquity(symbol,
          exch="SMART",
          primary,
          strike='0.0',
          currency='USD',
          right='',
          local='',
          multiplier='',
          include_expired='0',
          conId=0)

ヘルプページを引用するには:

endDateTime 引数は、'CCYYMMDD HH:MM:SS TZ' の形式である必要があります。指定されていない場合は、TWS サーバーから返された現在時刻が使用されます。これは、データのバックフィルに推奨される方法です。文字列の「TZ」部分はオプションです。

だから、あなたも使ってみることができます

reqHistoricalData(..., endDateTime='20160315 16:00:00')
于 2016-04-27T11:41:30.900 に答える