Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
PS : To stergios_marinopou...@yahoo.com When you said it works in Java you mean for quotes from the combo market ? or just implied quotes ? reqMktData() when given a BAG contract returns the spreads on the bid and the ask. It also returns some size information, which I assume is the spread on the sizes when the spread on the bid/ask changes, although I am not sure about this aspect. Attached is a short working example in Java based on the ExampleBase series of examples included in the IB API source code. Just replace the hard-coded IP address to one wihch works for you. This example creates an ES calendar spread, and then calls reqMktData() on the BAG contract; the rest of the program simply prints the bid/ask spread to stdout. sm -- Stergios Marinopoulos Thanks, Olivier I've added in support for sending a BAG contract, though I haven't figured out the proper params to verify all the messages are being sent correctly; i.e. still failing, just now for less obvious causes ;-) At rev 156 on googlecode HTH Jeff On Thu, Jul 19, 2012 at 1:41 PM, Jeffrey Ryan wrote: Further investigation leads me to think this is just not supported as of yet. I'll have to see how the API handles this for market data, and add it into IBrokers. At present, the contract is simply getting sent as a BAG, with no further effort to pass along the comboLegs themselves. I don't know technically where it is failing yet, but at this point I can see it simply can't succeed as is. I will fix. Thanks, Jeff On Thu, Jul 19, 2012 at 12:57 PM, Jeffrey Ryan wrote: Version mismatches from IB/etc may be the cause here, though I am out of the office this week so am not able to try to debug. Make sure you are running the latest of all (including the googlecode version of IBrokers - which you must build from source at this point). If not, it will be a little difficult to narrow down where the problem is. Thanks, Jeff On Thu, Jul 19, 2012 at 12:21 PM, Stergios Marinopoulos wrote: I think see the problem. Looking at the TWS error log, I can see that IBrokers reqMkData() is requesting the following generic tick types by default: 100,101,104,106,165,221,225,236, (and this is documented in IBroker's reqMktData() DOH!!!) where 100: Option Volume 101: Option Open Interest 104: Historical Volatility 106: Option Implied Volatility 165: Miscellaneous Stats 221: Mark Price225: Auction values236: Shortable Those tick types do not make sense for this BAG contract. The only thing that makes sense for this BAG contract is the spreads between bid, ask, or last. So when you call reqMktData() set tickGenerics=. But when I try it, however, nothing seems to be happen. I believe the eventWrapper argument or the CALLBACK argument to reqMktData() needs to be used in order to receive the (Java equivalent) tickPrice() events. Maybe someone with experience with those arguments can chime in. -- Stergios Marinopoulos - Original Message - From: Stergios Marinopoulos To: G See Cc: r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:28 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds I took Garrett's example and tried to get it working using IBrokers. It's starts writing data to a file as expected, but then the error below is produced and quote data is no longer written to the file. 2 1 320 Error reading request:-'wc' : cause - Unable format field - Here's the code: library(IBrokers) ; tws - twsConnect(1) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) bag.csv - file(~/bag.csv, open=w) reqMktData(tws, bag, eventWrapper=eWrapper.MktData.CSV(1), file=bag.csv) -- Stergios Marinopoulos - Original Message - From: G See To: Stergios Marinopoulos Cc: omerle ; r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:11 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds On Thu, Jul 19, 2012 at 10:09 AM, Stergios Marinopoulos wrote: In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. I'm unable to get that to work. If anyone else can get it to work, please share your secret. Thanks, Garrett ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
Thanks for passing a working Java example. I'll use this to test/adjust the code in IBrokers so it will do the same. Best, Jeff On Sun, Jul 29, 2012 at 2:06 PM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: PS : To stergios_marinopou...@yahoo.com When you said it works in Java you mean for quotes from the combo market ? or just implied quotes ? reqMktData() when given a BAG contract returns the spreads on the bid and the ask. It also returns some size information, which I assume is the spread on the sizes when the spread on the bid/ask changes, although I am not sure about this aspect. Attached is a short working example in Java based on the ExampleBase series of examples included in the IB API source code. Just replace the hard-coded IP address to one wihch works for you. This example creates an ES calendar spread, and then calls reqMktData() on the BAG contract; the rest of the program simply prints the bid/ask spread to stdout. sm -- Stergios Marinopoulos Thanks, Olivier I've added in support for sending a BAG contract, though I haven't figured out the proper params to verify all the messages are being sent correctly; i.e. still failing, just now for less obvious causes ;-) At rev 156 on googlecode HTH Jeff On Thu, Jul 19, 2012 at 1:41 PM, Jeffrey Ryan wrote: Further investigation leads me to think this is just not supported as of yet. I'll have to see how the API handles this for market data, and add it into IBrokers. At present, the contract is simply getting sent as a BAG, with no further effort to pass along the comboLegs themselves. I don't know technically where it is failing yet, but at this point I can see it simply can't succeed as is. I will fix. Thanks, Jeff On Thu, Jul 19, 2012 at 12:57 PM, Jeffrey Ryan wrote: Version mismatches from IB/etc may be the cause here, though I am out of the office this week so am not able to try to debug. Make sure you are running the latest of all (including the googlecode version of IBrokers - which you must build from source at this point). If not, it will be a little difficult to narrow down where the problem is. Thanks, Jeff On Thu, Jul 19, 2012 at 12:21 PM, Stergios Marinopoulos wrote: I think see the problem. Looking at the TWS error log, I can see that IBrokers reqMkData() is requesting the following generic tick types by default: 100,101,104,106,165,221,225,236, (and this is documented in IBroker's reqMktData() DOH!!!) where 100: Option Volume 101: Option Open Interest 104: Historical Volatility 106: Option Implied Volatility 165: Miscellaneous Stats 221: Mark Price225: Auction values236: Shortable Those tick types do not make sense for this BAG contract. The only thing that makes sense for this BAG contract is the spreads between bid, ask, or last. So when you call reqMktData() set tickGenerics=. But when I try it, however, nothing seems to be happen. I believe the eventWrapper argument or the CALLBACK argument to reqMktData() needs to be used in order to receive the (Java equivalent) tickPrice() events. Maybe someone with experience with those arguments can chime in. -- Stergios Marinopoulos - Original Message - From: Stergios Marinopoulos To: G See Cc: r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:28 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds I took Garrett's example and tried to get it working using IBrokers. It's starts writing data to a file as expected, but then the error below is produced and quote data is no longer written to the file. 2 1 320 Error reading request:-'wc' : cause - Unable format field - Here's the code: library(IBrokers) ; tws - twsConnect(1) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) bag.csv - file(~/bag.csv, open=w) reqMktData(tws, bag, eventWrapper=eWrapper.MktData.CSV(1), file=bag.csv) -- Stergios Marinopoulos - Original Message - From: G See To: Stergios Marinopoulos Cc: omerle ; r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:11 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds On Thu, Jul 19, 2012 at 10:09 AM, Stergios Marinopoulos wrote: In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. I'm unable to get that to work. If anyone else can get it to work, please share your secret. Thanks, Garrett
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds (omerle)
Hi, First time posting a reply so apologies in advance if this is the wrong way to do it / format etc. Regarding futures combos, I trade calendar spreads on commodity futures and finally got this working on IB with the plan to migrate to this platform. It is possible to get quotes for the exchange traded spread trade (as opposed to the combination of the two outrights). However you have to play around with the exchange parameters you send on each leg of the combo trade. In my case for example with NG spreads on NYMEX/Globex I have to use Exchange=NYMEX on both the individual comboLegs as well as the spread itself. Here is my code in C# (I am using the Krs.Ats.IBNet.dll). First I get the set of all underlying contracts and then here I create the spreads: ComboLeg leg1 = new ComboLeg(allContracts[ii].ContractId, 1, ActionSide.Buy, NYMEX, ComboOpenClose.Unknown, ShortSaleSlot.Unapplicable, ); ComboLeg leg2 = new ComboLeg(allContracts[jj].ContractId, 1, ActionSide.Sell, NYMEX, ComboOpenClose.Unknown, ShortSaleSlot.Unapplicable, ); Contract spread = new Contract(); spread.Symbol = NG; spread.Exchange = NYMEX; spread.Currency = USD; spread.SecIdType = SecurityIdType.None; spread.SecurityType = SecurityType.Bag; spread.ComboLegs.Add(leg1); spread.ComboLegs.Add(leg2); allContracts.Add(spread); This works, it gets market data for the correct exchange traded spread contract rather than the combo of the two underlyings. I have cross checked it all against my other futures trading platform, which is better than IB but more expensive of course. I think this means I will pay more in brokerage since the spreads are directed rather than SMART (with an emphasis on the )... but it is much cheaper than paying 10 more ticks trading the two outrights! Let me know if this helps. Regards, Lloyd Spencer. lloyd.spen...@kahutrading.com ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
I don't have a complete answer, but I don't think you directly request a quote for a twsBAG. You could get a quote for each leg and calculate it yourself. Below is an example. I hope you don't mind if I use the get_quote function from my twsInstrument package (https://r-forge.r-project.org/R/?group_id=1113). I don't know how IB calculates the BidSize and AskSize of a combo, but you can look at how I calculated it and see if it makes sense. [I don't trade subscribe to market data for MATIF, so below I'll make a combo between SPY and DIA. Note that the ratio I chose is by no means a recommendation -- I just picked a number that would make the spread close to dollar neutral] require(twsInstrument) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) ## Get a quote for both legs (tmp - get_quote(c(bag$comboleg[[1]]$conId, bag$comboleg[[2]]$conId))) #BidSize BidPrice AskPrice AskSize Last LastSize Volume #SPY 108 137.45 137.46 138 137.453 385111 #DIA 25 129.10 129.11 23 129.091 10656 data.frame(BidSize=min(c(as.numeric(bag$comboleg[[1]]$ratio) * tmp$BidSize[1], as.numeric(bag$comboleg[[2]]$ratio) * tmp$AskSize[2])), BidPrice=as.numeric(bag$comboleg[[1]]$ratio) * tmp$BidPrice[1] - as.numeric(bag$comboleg[[2]]$ratio) * tmp$AskPrice[2], AskPrice=as.numeric(bag$comboleg[[1]]$ratio) * tmp$AskPrice[1] - as.numeric(bag$comboleg[[2]]$ratio) * tmp$BidPrice[2], AskSize=min(c(as.numeric(bag$comboleg[[1]]$ratio) * tmp$AskSize[1], as.numeric(bag$comboleg[[2]]$ratio) * tmp$BidSize[2])), row.names=paste(rownames(tmp), collapse=.)) #BidSize BidPrice AskPrice AskSize #SPY.DIA 24.38 0.59340.61426.5 HTH, Garrett On Thu, Jul 19, 2012 at 8:18 AM, omerle ome...@laposte.net wrote: Dear, 1 - Quotes from futures combo I need quotes from futures combo but I cant find how to find these quotes. I can place combo orders but I can't find how to get the quotes. For instance, I would like to have the quotes of the combo between ECO AUG12 (83617918) and ECO NOV12 (87689647). Do you have any idea ? Which part of the IB API documentation should I check ? That's quite important for me ! 2 - reqIds If I understand well reqIds, it doesnt give the next iDs from Interactive Broker but the last iDs + 1 of the R session or TWS. Sometimes it doesn't work for me because when I relaunch R or TWS it forgets the real last iDs. When the iDs count is relaunch ? How can I relaunch it ? Thanks a lot, Olivier MERLE Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ? Je crée ma boîte mail www.laposte.net ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. -- Stergios Marinopoulos From: G See gsee...@gmail.com To: omerle ome...@laposte.net Cc: r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 10:37 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds I don't have a complete answer, but I don't think you directly request a quote for a twsBAG. You could get a quote for each leg and calculate it yourself. Below is an example. I hope you don't mind if I use the get_quote function from my twsInstrument package (https://r-forge.r-project.org/R/?group_id=1113). I don't know how IB calculates the BidSize and AskSize of a combo, but you can look at how I calculated it and see if it makes sense. [I don't trade subscribe to market data for MATIF, so below I'll make a combo between SPY and DIA. Note that the ratio I chose is by no means a recommendation -- I just picked a number that would make the spread close to dollar neutral] require(twsInstrument) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) ## Get a quote for both legs (tmp - get_quote(c(bag$comboleg[[1]]$conId, bag$comboleg[[2]]$conId))) # BidSize BidPrice AskPrice AskSize Last LastSize Volume #SPY 108 137.45 137.46 138 137.45 3 385111 #DIA 25 129.10 129.11 23 129.09 1 10656 data.frame(BidSize=min(c(as.numeric(bag$comboleg[[1]]$ratio) * tmp$BidSize[1], as.numeric(bag$comboleg[[2]]$ratio) * tmp$AskSize[2])), BidPrice=as.numeric(bag$comboleg[[1]]$ratio) * tmp$BidPrice[1] - as.numeric(bag$comboleg[[2]]$ratio) * tmp$AskPrice[2], AskPrice=as.numeric(bag$comboleg[[1]]$ratio) * tmp$AskPrice[1] - as.numeric(bag$comboleg[[2]]$ratio) * tmp$BidPrice[2], AskSize=min(c(as.numeric(bag$comboleg[[1]]$ratio) * tmp$AskSize[1], as.numeric(bag$comboleg[[2]]$ratio) * tmp$BidSize[2])), row.names=paste(rownames(tmp), collapse=.)) # BidSize BidPrice AskPrice AskSize #SPY.DIA 24.38 0.5934 0.614 26.5 HTH, Garrett On Thu, Jul 19, 2012 at 8:18 AM, omerle ome...@laposte.net wrote: Dear, 1 - Quotes from futures combo I need quotes from futures combo but I cant find how to find these quotes. I can place combo orders but I can't find how to get the quotes. For instance, I would like to have the quotes of the combo between ECO AUG12 (83617918) and ECO NOV12 (87689647). Do you have any idea ? Which part of the IB API documentation should I check ? That's quite important for me ! 2 - reqIds If I understand well reqIds, it doesnt give the next iDs from Interactive Broker but the last iDs + 1 of the R session or TWS. Sometimes it doesn't work for me because when I relaunch R or TWS it forgets the real last iDs. When the iDs count is relaunch ? How can I relaunch it ? Thanks a lot, Olivier MERLE Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ? Je crée ma boîte mail www.laposte.net ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
On Thu, Jul 19, 2012 at 10:09 AM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. I'm unable to get that to work. If anyone else can get it to work, please share your secret. Thanks, Garrett ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
I took Garrett's example and tried to get it working using IBrokers. It's starts writing data to a file as expected, but then the error below is produced and quote data is no longer written to the file. 2 1 320 Error reading request:-'wc' : cause - Unable format field - Here's the code: library(IBrokers) ; tws - twsConnect(1) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) bag.csv - file(~/bag.csv, open=w) reqMktData(tws, bag, eventWrapper=eWrapper.MktData.CSV(1), file=bag.csv) -- Stergios Marinopoulos - Original Message - From: G See gsee...@gmail.com To: Stergios Marinopoulos stergios_marinopou...@yahoo.com Cc: omerle ome...@laposte.net; r-sig-finance@r-project.org r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:11 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds On Thu, Jul 19, 2012 at 10:09 AM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. I'm unable to get that to work. If anyone else can get it to work, please share your secret. Thanks, Garrett ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
Hi Stergios I believe it is your ratios. They have to be integers. your second one is ratio = 1.06 You will have to calculate the most feasible rational approximation to your beta of -1.06/1 One solution would be -21/20 ~ -1.05 So you could set leg1: ratio = 21 leg2: ratio = 20 That should do it. Cheers Soren http://censix.com On Thu, 19 Jul 2012 08:28:17 -0700 (PDT) Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: I took Garrett's example and tried to get it working using IBrokers. It's starts writing data to a file as expected, but then the error below is produced and quote data is no longer written to the file. 2 1 320 Error reading request:-'wc' : cause - Unable format field - Here's the code: library(IBrokers) ; tws - twsConnect(1) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) bag.csv - file(~/bag.csv, open=w) reqMktData(tws, bag, eventWrapper=eWrapper.MktData.CSV(1), file=bag.csv) -- Stergios Marinopoulos - Original Message - From: G See gsee...@gmail.com To: Stergios Marinopoulos stergios_marinopou...@yahoo.com Cc: omerle ome...@laposte.net; r-sig-finance@r-project.org r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:11 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds On Thu, Jul 19, 2012 at 10:09 AM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. I'm unable to get that to work. If anyone else can get it to work, please share your secret. Thanks, Garrett ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. -- Soren Wilkening http://censix.com ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
:-( I'm afraid it doesn't even work with 1 and 1 Were you able to get market data for a twsBAG, Soren? In May, Jeff suggested it doesn't work: https://stat.ethz.ch/pipermail/r-sig-finance/2012q2/010258.html On Thu, Jul 19, 2012 at 11:36 AM, me m...@censix.com wrote: Hi Stergios I believe it is your ratios. They have to be integers. your second one is ratio = 1.06 You will have to calculate the most feasible rational approximation to your beta of -1.06/1 One solution would be -21/20 ~ -1.05 So you could set leg1: ratio = 21 leg2: ratio = 20 That should do it. Cheers Soren http://censix.com On Thu, 19 Jul 2012 08:28:17 -0700 (PDT) Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: I took Garrett's example and tried to get it working using IBrokers. It's starts writing data to a file as expected, but then the error below is produced and quote data is no longer written to the file. 2 1 320 Error reading request:-'wc' : cause - Unable format field - Here's the code: library(IBrokers) ; tws - twsConnect(1) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) bag.csv - file(~/bag.csv, open=w) reqMktData(tws, bag, eventWrapper=eWrapper.MktData.CSV(1), file=bag.csv) -- Stergios Marinopoulos - Original Message - From: G See gsee...@gmail.com To: Stergios Marinopoulos stergios_marinopou...@yahoo.com Cc: omerle ome...@laposte.net; r-sig-finance@r-project.org r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:11 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds On Thu, Jul 19, 2012 at 10:09 AM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. I'm unable to get that to work. If anyone else can get it to work, please share your secret. Thanks, Garrett ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. -- Soren Wilkening http://censix.com ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
Version mismatches from IB/etc may be the cause here, though I am out of the office this week so am not able to try to debug. Make sure you are running the latest of all (including the googlecode version of IBrokers - which you must build from source at this point). If not, it will be a little difficult to narrow down where the problem is. Thanks, Jeff On Thu, Jul 19, 2012 at 12:21 PM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: I think see the problem. Looking at the TWS error log, I can see that IBrokers reqMkData() is requesting the following generic tick types by default: 100,101,104,106,165,221,225,236, (and this is documented in IBroker's reqMktData() DOH!!!) where 100: Option Volume 101: Option Open Interest 104: Historical Volatility 106: Option Implied Volatility 165: Miscellaneous Stats 221: Mark Price225: Auction values236: Shortable Those tick types do not make sense for this BAG contract. The only thing that makes sense for this BAG contract is the spreads between bid, ask, or last. So when you call reqMktData() set tickGenerics=. But when I try it, however, nothing seems to be happen. I believe the eventWrapper argument or the CALLBACK argument to reqMktData() needs to be used in order to receive the (Java equivalent) tickPrice() events. Maybe someone with experience with those arguments can chime in. -- Stergios Marinopoulos - Original Message - From: Stergios Marinopoulos stergios_marinopou...@yahoo.com To: G See gsee...@gmail.com Cc: r-sig-finance@r-project.org r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:28 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds I took Garrett's example and tried to get it working using IBrokers. It's starts writing data to a file as expected, but then the error below is produced and quote data is no longer written to the file. 2 1 320 Error reading request:-'wc' : cause - Unable format field - Here's the code: library(IBrokers) ; tws - twsConnect(1) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) bag.csv - file(~/bag.csv, open=w) reqMktData(tws, bag, eventWrapper=eWrapper.MktData.CSV(1), file=bag.csv) -- Stergios Marinopoulos - Original Message - From: G See gsee...@gmail.com To: Stergios Marinopoulos stergios_marinopou...@yahoo.com Cc: omerle ome...@laposte.net; r-sig-finance@r-project.org r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:11 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds On Thu, Jul 19, 2012 at 10:09 AM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. I'm unable to get that to work. If anyone else can get it to work, please share your secret. Thanks, Garrett ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. -- Jeffrey Ryan jeffrey.r...@lemnica.com www.lemnica.com www.esotericR.com ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds
I've added in support for sending a BAG contract, though I haven't figured out the proper params to verify all the messages are being sent correctly; i.e. still failing, just now for less obvious causes ;-) At rev 156 on googlecode HTH Jeff On Thu, Jul 19, 2012 at 1:41 PM, Jeffrey Ryan jeffrey.r...@lemnica.com wrote: Further investigation leads me to think this is just not supported as of yet. I'll have to see how the API handles this for market data, and add it into IBrokers. At present, the contract is simply getting sent as a BAG, with no further effort to pass along the comboLegs themselves. I don't know technically where it is failing yet, but at this point I can see it simply can't succeed as is. I will fix. Thanks, Jeff On Thu, Jul 19, 2012 at 12:57 PM, Jeffrey Ryan jeffrey.r...@lemnica.com wrote: Version mismatches from IB/etc may be the cause here, though I am out of the office this week so am not able to try to debug. Make sure you are running the latest of all (including the googlecode version of IBrokers - which you must build from source at this point). If not, it will be a little difficult to narrow down where the problem is. Thanks, Jeff On Thu, Jul 19, 2012 at 12:21 PM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: I think see the problem. Looking at the TWS error log, I can see that IBrokers reqMkData() is requesting the following generic tick types by default: 100,101,104,106,165,221,225,236, (and this is documented in IBroker's reqMktData() DOH!!!) where 100: Option Volume 101: Option Open Interest 104: Historical Volatility 106: Option Implied Volatility 165: Miscellaneous Stats 221: Mark Price225: Auction values236: Shortable Those tick types do not make sense for this BAG contract. The only thing that makes sense for this BAG contract is the spreads between bid, ask, or last. So when you call reqMktData() set tickGenerics=. But when I try it, however, nothing seems to be happen. I believe the eventWrapper argument or the CALLBACK argument to reqMktData() needs to be used in order to receive the (Java equivalent) tickPrice() events. Maybe someone with experience with those arguments can chime in. -- Stergios Marinopoulos - Original Message - From: Stergios Marinopoulos stergios_marinopou...@yahoo.com To: G See gsee...@gmail.com Cc: r-sig-finance@r-project.org r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:28 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds I took Garrett's example and tried to get it working using IBrokers. It's starts writing data to a file as expected, but then the error below is produced and quote data is no longer written to the file. 2 1 320 Error reading request:-'wc' : cause - Unable format field - Here's the code: library(IBrokers) ; tws - twsConnect(1) bag - twsBAG( twsComboLeg( conId = 756733, #conId(SPY), ratio = 1, action = BUY, exchange = SMART ) , twsComboLeg( conId = 73128548, #conId(DIA), ratio = 1.06, action = SELL, exchange = SMART ) ) bag.csv - file(~/bag.csv, open=w) reqMktData(tws, bag, eventWrapper=eWrapper.MktData.CSV(1), file=bag.csv) -- Stergios Marinopoulos - Original Message - From: G See gsee...@gmail.com To: Stergios Marinopoulos stergios_marinopou...@yahoo.com Cc: omerle ome...@laposte.net; r-sig-finance@r-project.org r-sig-finance@r-project.org Sent: Thursday, July 19, 2012 11:11 AM Subject: Re: [R-SIG-Finance] IBrokers : quotes from futures combo and reqIds On Thu, Jul 19, 2012 at 10:09 AM, Stergios Marinopoulos stergios_marinopou...@yahoo.com wrote: In Java, if you create a proper BAG Contract you can use it with reqMktData() or reqHistoricalData(). I imagine the same holds true in R as well. (I can send Java examples if interested.) Try using IBrokers twsBAG() function to create a combo contract, and use the returned object as the contract to IBrokers's equivalent of reqMktData() and data should start streaming. I'm unable to get that to work. If anyone else can get it to work, please share your secret. Thanks, Garrett ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. ___ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go. -- Jeffrey Ryan jeffrey.r...@lemnica.com www.lemnica.com www.esotericR.com -- Jeffrey