Imported from previous forum
Was wondering if anyone has used QuickFix44.PositionReport (in .NET) to work and which fields should be set in order to successfully submit reports to, for example, ASIC (when this regulation comes into enforcement later).
When creating the following report, I get a ‘Required tag missing’ error (back as response from the acceptor, not as an exception).
QuickFix44.PositionReport posReport = new QuickFix44.PositionReport(
new PosMaintRptID(“test_pos_id”),
new PosReqResult(5), //no. of position reports
new ClearingBusinessDate(“20100122”),
new Account(“susq”),
new AccountType(AccountType.ACCOUNT_IS_HOUSE_TRADER_AND_IS_CROSS_MARGINED),
new SettlPrice(55.0),
new SettlPriceType(SettlPriceType.THEORETICAL),
new PriorSettlPrice(55.0)
);
try
{
Session.sendToTarget(posReport, _sessionID);
}
catch (Exception ex)
{
Console.WriteLine("Error sending order:" + ex.Message);
}
Acceptor FIX msg:
(8=FIX.4.4☺9=118☺35=3☺34=2☺49=ASICAcceptor☺52=20100127-01:25:30.753☺56=ASICInitiator☺45=2☺58=Required tag missing☺371=702☺372=AP☺373=1☺10=073☺)
with 371=702 I looked up 702 and it says (in fix-44 Vol 6 with errata.pdf) that 702 refers to NoPositions so I’m guessing this is the problem. I’m not quite sure where to set the number of positions (
However I haven’t managed to find any documentation on a sample PosReport message to be sent to ASIC. If anyone has advice or such a sample would be greatly appreciated!
Many thanks,
Gert
SIG
Hi Gert
The ASIC Position Report spec (including sample messages) can be found at 404 | ASIC
You may also be interested in an off the shelf ASIC reporting solution provided by my company, Cameron Edge - see Cameron Edge | FIX Services - FIXwiki - FromTheProducer
I am about to post a press release on the Product Discussion forum - or please feel free to contact me directly.
Regards John
Was wondering if anyone has used QuickFix44.PositionReport (in .NET) to
work and which fields should be set in order to successfully submit
reports to, for example, ASIC (when this regulation comes into
enforcement later).When creating the following report, I get a ‘Required tag missing’ error
(back as response from the acceptor, not as an exception).
QuickFix44.PositionReport posReport = new QuickFix44.PositionReport( new
PosMaintRptID(“test_pos_id”), new PosReqResult(5), //no. of position
reports new ClearingBusinessDate(“20100122”), new Account(“susq”), new
AccountType(AccountType.ACCOUNT_IS_HOUSE_TRADER_AND_IS_CROSS_MARGINED),
new SettlPrice(55.0), new SettlPriceType(SettlPriceType.THEORETICAL),
new PriorSettlPrice(55.0) );try { Session.sendToTarget(posReport, _sessionID); } catch (Exception ex) { Console.WriteLine("Error sending order:" + ex.Message); }
Acceptor FIX msg: (8=FIX.4.4☺9=118☺35=3☺34=2☺49=ASICAcceptor☺52=20100127-
01:25:30.753☺56=ASICInitiator☺45=2☺58=Required tag
missing☺371=702☺372=AP☺373=1☺10=073☺)with 371=702 I looked up 702 and it says (in fix-44 Vol 6 with
errata.pdf) that 702 refers to NoPositions so I’m guessing this is the
problem. I’m not quite sure where to set the number of positions (However I haven’t managed to find any documentation on a sample
PosReport message to be sent to ASIC. If anyone has advice or such a
sample would be greatly appreciated!Many thanks, Gert SIG
Hey John,
Thanks for the message, I have that document from ASIC. A code example woulda been nice, this is their sample (in Appendix C):
Short position for 10000 XYZ shares sent via an Information Vendor, using a submitting entity with ABN of 01234567892 for a short seller with an ABN of 01234567891 (contact details not supplied)
8=FIXT.1.1|9=234|35=AP|49=INFVENDOR|56=ASIC|721=client12320100301001|34=123|52=20100403-09:30:00.000|727=1|715=20100403|453=2|448=01234567892|447=9|
452=29|448=1234567892|447=9|452=1|55=XYZ|22=4|207=XASX|702=1|703=FIN|705=10000|10=103|
What would be great is to see how to create this message in C#/C++ code, as I am still pretty new to FIX reverse-engineering stuff is tricky at this stage ![]()
many thanks,
Gert
Hi Gert
The ASIC Position Report spec (including sample messages) can be found
at/www.asic.gov.au/asic/pdflib.nsf/LookupByFileName/ShortSellingReporting-
RulesOfEngagement.pdf/$file/ShortSellingReporting-RulesOfEngagement.pdfYou may also be interested in an off the shelf ASIC reporting solution
provided by my company, Cameron Edge - see
Cameron Edge | FIX Services - FIXwiki - FromTheProducerI am about to post a press release on the Product Discussion forum - or
please feel free to contact me directly.Regards John
Was wondering if anyone has used QuickFix44.PositionReport (in .NET)
to work and which fields should be set in order to successfully submit
reports to, for example, ASIC (when this regulation comes into
enforcement later).When creating the following report, I get a ‘Required tag missing’
error (back as response from the acceptor, not as an exception).
QuickFix44.PositionReport posReport = new QuickFix44.PositionReport(
new PosMaintRptID(“test_pos_id”), new PosReqResult(5), //no. of
position reports new ClearingBusinessDate(“20100122”), new
Account(“susq”), new AccountType(AccountType.ACCOUNT_IS_HOUSE_TRADE-
R_AND_IS_CROSS_MARGINED), new SettlPrice(55.0), new
SettlPriceType(SettlPriceType.THEORETICAL), new
PriorSettlPrice(55.0) );try { Session.sendToTarget(posReport, _sessionID); } catch (Exception ex) { Console.WriteLine("Error sending order:" + ex.Message); }
Acceptor FIX msg: (8=FIX.4.4☺9=118☺35=3☺34=2☺49=ASICAcceptor☺52=20100127-
01:25:30.753☺56=ASICInitiator☺45=2☺58=Required tag
missing☺371=702☺372=AP☺373=1☺10=073☺)with 371=702 I looked up 702 and it says (in fix-44 Vol 6 with
errata.pdf) that 702 refers to NoPositions so I’m guessing this is the
problem. I’m not quite sure where to set the number of positions (However I haven’t managed to find any documentation on a sample
PosReport message to be sent to ASIC. If anyone has advice or such a
sample would be greatly appreciated!Many thanks, Gert SIG
Hi Gert
The problem is that the way that FIX messages are constructed in software depends on whose FIX you are using. QuickFIX (which you mention) is just one FIX implementation of many.
If we start talking about specific products, this is not really the right forum. If you are using QuickFIX, you should post your question on a QuickFIX support forum. FPL is responsible for maintaining, promoting and supporting the FIX standard - but not individual FIX implementations. Individual FIX vendors or FIX open source projects are responsible for supporting their own users.
John
Hey John,
Thanks for the message, I have that document from ASIC. A code example
woulda been nice, this is their sample (in Appendix C):Short position for 10000 XYZ shares sent via an Information Vendor,
using a submitting entity with ABN of 01234567892 for a short seller
with an ABN of 01234567891 (contact details not supplied)=AP|49=INFVENDOR|56=ASIC|721=client12320100301001|34=123|52=20100403-
09:30:00.000|727=1|715=20100403|453=2|448=01234567892|447=9| 452=29|-
448=1234567892|447=9|452=1|55=XYZ|22=4|207=XASX|702=1|703=FIN|705=10-
000|10=103|What would be great is to see how to create this message in C#/C++ code,
as I am still pretty new to FIX reverse-engineering stuff is tricky at
this stagemany thanks, Gert
Hi Gert
The ASIC Position Report spec (including sample messages) can be found
ww.asic.gov.au/asic/pdflib.nsf/LookupByFileName/ShortSellingReporting-
RulesOfEngagement.pdf/$file/ShortSellingReporting-
RulesOfEngagement.pdfYou may also be interested in an off the shelf ASIC reporting solution
provided by my company, Cameron Edge - see
Cameron Edge | FIX Services - FIXwiki - FromTheProducerI am about to post a press release on the Product Discussion forum -
or please feel free to contact me directly.Regards John
Was wondering if anyone has used QuickFix44.PositionReport (in .NET)
to work and which fields should be set in order to successfully
submit reports to, for example, ASIC (when this regulation comes
into enforcement later).When creating the following report, I get a ‘Required tag missing’
error (back as response from the acceptor, not as an exception).
QuickFix44.PositionReport posReport = new QuickFix44.PositionReport(
new PosMaintRptID(“test_pos_id”), new PosReqResult(5), //no. of
position reports new ClearingBusinessDate(“20100122”), new
Account(“susq”), new AccountType(AccountType.ACCOUNT_IS_HOUSE_TRADE-
R_AND_IS_CROSS_MARGINED), new SettlPrice(55.0), new
SettlPriceType(SettlPriceType.THEORETICAL), new
PriorSettlPrice(55.0) );try { Session.sendToTarget(posReport, _sessionID); } catch (Exception ex) { Console.WriteLine("Error sending order:" + ex.Message); }
Acceptor FIX msg: (8=FIX.4.4☺9=118☺35=3☺34=2☺49=ASICAcceptor☺52=20100127-
01:25:30.753☺56=ASICInitiator☺45=2☺58=Required tag
missing☺371=702☺372=AP☺373=1☺10=073☺)with 371=702 I looked up 702 and it says (in fix-44 Vol 6 with
errata.pdf) that 702 refers to NoPositions so I’m guessing this is
the problem. I’m not quite sure where to set the number of
positions (However I haven’t managed to find any documentation on a sample
PosReport message to be sent to ASIC. If anyone has advice or such a
sample would be greatly appreciated!Many thanks, Gert SIG
[ original email was from Toby Corballis - toby.corballis@rapidaddition.co.uk ]
Though, from my high-level reading of the spec, I think you can use any FIX engine to connect so if you already have one yoiu could use that.
Hi Gert
The ASIC Position Report spec (including sample messages) can be found
at/www.asic.gov.au/asic/pdflib.nsf/LookupByFileName/ShortSellingReporting-
RulesOfEngagement.pdf/$file/ShortSellingReporting-RulesOfEngagement.pdfYou may also be interested in an off the shelf ASIC reporting solution
provided by my company, Cameron Edge - see
Cameron Edge | FIX Services - FIXwiki - FromTheProducerI am about to post a press release on the Product Discussion forum - or
please feel free to contact me directly.Regards John
Was wondering if anyone has used QuickFix44.PositionReport (in .NET)
to work and which fields should be set in order to successfully submit
reports to, for example, ASIC (when this regulation comes into
enforcement later).When creating the following report, I get a ‘Required tag missing’
error (back as response from the acceptor, not as an exception).
QuickFix44.PositionReport posReport = new QuickFix44.PositionReport(
new PosMaintRptID(“test_pos_id”), new PosReqResult(5), //no. of
position reports new ClearingBusinessDate(“20100122”), new
Account(“susq”), new AccountType(AccountType.ACCOUNT_IS_HOUSE_TRADE-
R_AND_IS_CROSS_MARGINED), new SettlPrice(55.0), new
SettlPriceType(SettlPriceType.THEORETICAL), new
PriorSettlPrice(55.0) );try { Session.sendToTarget(posReport, _sessionID); } catch (Exception ex) { Console.WriteLine("Error sending order:" + ex.Message); }
Acceptor FIX msg: (8=FIX.4.4☺9=118☺35=3☺34=2☺49=ASICAcceptor☺52=20100127-
01:25:30.753☺56=ASICInitiator☺45=2☺58=Required tag
missing☺371=702☺372=AP☺373=1☺10=073☺)with 371=702 I looked up 702 and it says (in fix-44 Vol 6 with
errata.pdf) that 702 refers to NoPositions so I’m guessing this is the
problem. I’m not quite sure where to set the number of positions (However I haven’t managed to find any documentation on a sample
PosReport message to be sent to ASIC. If anyone has advice or such a
sample would be greatly appreciated!Many thanks, Gert SIG