使用IBrokers包的问题

时间:2011-11-03 14:21:30

标签: r finance ibrokers

我试图使用最简单的代码使用IBrokers包,如下所示:

library(IBrokers)

tws <- twsConnect()

aapl.csv <- file("AAPL.csv", open="wa")

# run an infinite-loop ( <C-c> to break )
reqMktData(tws, twsSTK("AAPL"), 
        eventWrapper=eWrapper.MktData.CSV(1), 
        file=aapl.csv)

close(aapl.csv)
close(tws)

我收到此错误:

2 1 321 Error validating request:-'oc' : 
cause - Incorrect generic tick list of 100,101,104,106,165,221,225,236. 
Legal ones for (STK)

一切都挂起......

整个日志在这里:

R version 2.13.0 (2011-04-13)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-pc-mingw32/x64 (64-bit)

> library(IBrokers)
Loading required package: xts
Loading required package: zoo

Attaching package: 'zoo'

The following object(s) are masked from 'package:base':

    as.Date, as.Date.numeric

IBrokers version 0.9-3:
Implementing API Version 9.64
This software comes with NO WARRANTY.  Not intended for production use!
See ?IBrokers for details
Warning messages:
1: package 'IBrokers' was built under R version 2.13.2
2: package 'xts' was built under R version 2.13.2
3: package 'zoo' was built under R version 2.13.2
>
> tws <- twsConnect()
>
> aapl.csv <- file("AAPL.csv", open="a")
>
> # run an infinite-loop ( <C-c> to break )
> reqMktData(tws, twsSTK("AAPL"),
+         eventWrapper=eWrapper.MktData.CSV(1),
+         file=aapl.csv)
2 -1 2104 Market data farm connection is OK:cashfarm
2 -1 2104 Market data farm connection is OK:usfarm
2 -1 2106 HMDS data farm connection is OK:ushmds2a
2 1 321 Error validating request:-'oc' : cause - Incorrect generic tick list of 100,101,104,106,165,221,225,236.  Legal ones for (STK) are: 100(Option Volume),101(Option Open Interest),104(Historical Volatility),105(Average Opt Volume),106(Option Implied Volatility),107(Close Implied Volatility),125(Bond analytic data),165(Misc. Stats),166(CScreen),225(Auction),233(RTVolume),236(inventory),258/47(Fundamentals),291(Close Implied Volatility),293(TradeCount),294(TradeRate),295(VolumeRate),318(LastRTHTrade),370(ParticipationMonitor),370(ParticipationMonitor),377(CttTickTag),377(CttTickTag),381(IB Rate),384(RfqTickRespTag),384(RfqTickRespTag),387(DMM),388(Issuer Fundamentals),391(IBWarrantImpVolCompeteTick),407(FuturesMargins),411(Real-Time Historical Volatility)

> (Command cancelled)
>
> close(aapl.csv)
> close(tws)

我在这里做错了什么?任何分辨率或指向参考的想法都受到高度赞赏。

1 个答案:

答案 0 :(得分:4)

错误表明您的勾选列表很糟糕。如果将它与它报告的有效值进行比较,你会发现221是罪魁祸首。值得庆幸的是,?reqMktData告诉我们您可以使用tickGenerics选项指定自己的勾选列表。所以只需做一些像

这样的事情
> reqMktData(tws, twsSTK("AAPL"), 
         eventWrapper=eWrapper.MktData.CSV(1), 
         file=aapl.csv, tickGenerics="100,101,104,106,165,225,236")

你应该好好去。