Matt,
Just to set your expectations - the market data simulators that are
hosted on our site are by no means complete - we just have the minimum
amount of functionality to enable Photon scripting
(
http://trac.marketcetera.org/trac.fcgi/wiki/0.5.0/Marketcetera/PhotonScripting) and market data display in Photon.
> // Ports =================================================
> However, I noticed that I only receive Price updates from 7004 along
> with bogus quantities (200 / 300) whereas I only received Quantity
> updates from 7003 for the trades that I order (through 7001). Is this
> meant to be the case or am I missing something?
That is correct. We have 2 market data simulators:
* Port 7003: Quote feed tied to the Exchange Simulator, providing
real-time data for equities and options being traded on the simulator
* Port 7004: Independent quote feed that always has simulated
quotes for any equity or option specified
http://trac.marketcetera.org/trac.fcgi/wiki/Marketcetera/Simulators> // MessageType =================================================
> - I assume DerivativeSecurityListRequest is used to get information of
> available derivatives for a specified underlying security. However, I
> am a little confused as to what the minimal set of information is
> required to obtain this list. It also seems that I can only send this
> message to 7004;
Since the simulator running on 7003 is tied to what's in the exchange
simulator, and we only preload options in it, you won't be getting any
derivatives from that feed unless you manually enter some option
orders in there.
Here's the minimum code we use to test the
DerivativeSecurityListRequest functionality:
String rootSymbol = "IBM";
String reqID = "REQ-1";
DerivativeSecurityListRequest requestMessage = new
DerivativeSecurityListRequest();
requestMessage.setField(new SecurityReqID(reqID));
requestMessage.setField(new SecurityListRequestType(1));// specifies
that the receiver should look in SecurityType field for more info
requestMessage.setField(new SecurityType(SecurityType.OPTION));
requestMessage.setField(new UnderlyingSymbol(rootSymbol));
feed.handleDerivativeSecurityListRequest(requestMessage, SESSION_ID);
> - For SecurityDefinitionRequest, I have no idea what this message is
> actually for nor the type of information I need to include in the
> message for it to be a valid message.
This one is a bit harder to answer since we are not using it exactly
at it was intended. According to the spec, "Security Definition
Request message is used to define a security to the counterparty for
trading and to retrieve definitions for securities available for
trading with the counterparty. "
We are using it to solve a specific problem where you may have an
option contract but your don't know if it settles to a 100 shares or a
1000, for example. Or you may have a complex contract that has 2
underlying securities, etc. SecurityDefinitionRequest -->
SecurityDefinition can be used to find that out.
We are actually not using SecurityDefinitionRequest - it was intended
to be used from Photon on the MarketData screen but we ended up not
using it right now.
The default implementation always returns 1 underlying with the size of 100.
I'd love to hear what messages others are using to work around the
problem of discovering what the underlying parts and sizes of the
option contract are.
Here's the sample code to construct the message if that helps:
String rootSymbol = "IBM";
String reqID = "REQ-1";
SecurityDefinitionRequest requestMessage = new SecurityDefinitionRequest();
requestMessage.setField(new SecurityReqID(reqID));
requestMessage.setField(new
SecurityRequestType(SecurityRequestType.REQUEST_SECURITY_IDENTITY_AND_SPECIFICATIONS));
requestMessage.setField(new SecurityType(SecurityType.OPTION));
requestMessage.setField(new Symbol(rootSymbol));
feed.handleSecurityDefinitionRequest(requestMessage, SESSION_ID);
Hope this helps. Let me know if you have any other questions.
--
Toli Kuznets
http://www.marketcetera.com: Open-Source Trading Platform
download.run.trade.
_______________________________________________
_______________________________________________
Marketcetera Users mailing list
Marketcetera Documentation:
http://trac.marketcetera.orgTo unsubscribe, go to
http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to
[hidden email].