[R-SIG-Finance] reqHistoricalData

Jeff Ryan jeff.a.ryan at gmail.com
Thu Dec 23 21:16:41 CET 2010


The failure is that you aren't using the contract that succeeds in the reqContractDetails call, instead you are  constructing a new one - incorrectly. 

So the TWS is reporting correctly that there is no contract matching your request. 

Try keeping it simple first, and build upon past successes. You can even extract the correct contract from the reqContractDetails call using as.twsContract()



Hint: STK should be CFD (contract for difference).  

Best,
Jeff


Jeffrey Ryan    |    Founder    |    jeffrey.ryan at lemnica.com

www.lemnica.com

On Dec 23, 2010, at 1:48 PM, Stephen Choularton <stephen at organicfoodmarkets.com.au> wrote:

> Following the logic Jeff's reply to my Re: [R-SIG-Finance] placeOrder posting,  I have been trying to reqHistoricalData:
> 
> 
> tws <- twsConnect()
> tws
> reqHistoricalData(tws, twsContract(conId='45998522', symbol='BHP',  sectype='STK', exch='SNFE', primary='',  expiry='', strike='', currency="AUD",  right= "", local = "BJK6", multiplier= "",  combo_legs_desc= "", comboleg= "", include_expired= "",  secIdType = "", secId = ""))
> closeAllConnections()
> 
> but failing:
> 
> 
> > tws <- twsConnect()
> > tws
> <twsConnection,1 @ 20101224 06:11:21 Eastern Standard Time (New South Wales), nextId=64>
> > reqHistoricalData(tws, twsContract(conId='45998522', symbol='BHP',  sectype='STK', exch='SNFE', primary='',  expiry='', strike='', currency="AUD",  right= "", local = "BJK6", multiplier= "",  combo_legs_desc= "", comboleg= "",            include_expired= "",  secIdType = "", secId = ""))
> TWS Message: 2 -1 2104 Market data farm connection is OK:aufarm
> TWS Message: 2 -1 2106 HMDS data farm connection is OK:hkhmds2
> TWS Message: 2 -1 2106 HMDS data farm connection is OK:ushmds2a
> waiting for TWS reply ....NULL
> Warning message:
> In errorHandler(con, verbose, OK = c(165, 300, 366, 2104, 2106,  :
>  No security definition has been found for the request
> >
> > #reqHistoricalData(tws, 'BHP', 'CFD', 'SNFE', 'AUD',duration = '1 M')
> > closeAllConnections()
> 
> I'm pretty sure I have the contract correct:
> 
> 
> > tws <- twsConnect()
> > tws
> <twsConnection,1 @ 20101224 06:17:03 Eastern Standard Time (New South Wales), nextId=64>
> > bhp_cfd <- twsContract("", "BHP", "CFD", "SNFE", "", "", "", "AUD", "","","",NULL,NULL,0)
> > reqContractDetails(tws, bhp_cfd)[[1]]
> List of 18
> $ version       : chr "6"
> $ contract      :List of 16
>  ..$ conId          : chr "45998522"
>  ..$ symbol         : chr "BHP"
>  ..$ sectype        : chr "CFD"
>  ..$ exch           : chr "SNFE"
>  ..$ primary        : chr ""
>  ..$ expiry         : chr ""
>  ..$ strike         : chr "0"
>  ..$ currency       : chr "AUD"
>  ..$ right          : chr ""
>  ..$ local          : chr "BJK6"
>  ..$ multiplier     : chr ""
>  ..$ combo_legs_desc: chr ""
>  ..$ comboleg       : chr ""
>  ..$ include_expired: chr ""
>  ..$ secIdType      : chr ""
>  ..$ secId          : chr ""
>  ..- attr(*, "class")= chr "twsContract"
> $ marketName    : chr "BJ"
> $ tradingClass  : chr "BJ"
> $ conId         : chr "45998522"
> $ minTick       : chr "0.01"
> $ orderTypes    : chr [1:33] "ACTIVETIM" "ADJUST" "ALERT" "ALLOC" ...
> $ validExchanges: chr "SNFE"
> $ priceMagnifier: chr "1"
> $ underConId    : chr "4036812"
> $ longName      : chr "BHP BILLITON LIMITED"
> $ contractMonth : chr ""
> $ industry      : chr "Basic Materials"
> $ category      : chr "Mining"
> $ subcategory   : chr "Diversified Minerals"
> $ timeZoneId    : chr "AET"
> $ tradingHours  : chr "20101224:1000-1400;20101229:1000-1600"
> $ liquidHours   : chr "20101224:1000-1400;20101229:1000-1600"
> > closeAllConnections()
> >
> 
> I wonder where I am going wrong.
> 
> 
> Stephen Choularton Ph.D., FIoD
> 
> 
> On 17/12/2010 3:05 AM, Jeff Ryan wrote:
>> reqContractDetails(tws, cba_cfd)[[1]]



More information about the R-SIG-Finance mailing list