public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps) { try { //Setting request header information GetDataHeaders getDataHdrs = new GetDataHeaders(); getDataHdrs.secmasterSpecified = true; getDataHdrs.secmaster = true; //Setting instruments for request Instruments instrs = new Instruments(); instrs.macro = new Macro[2]; instrs.macro[0] = new Macro(); instrs.macro[0].primaryQualifier = new PrimaryQualifier(); instrs.macro[0].primaryQualifier.primaryQualifierType = MacroType.SECTYP; instrs.macro[0].primaryQualifier.primaryQualifierValue = "OPT_CHAIN"; instrs.macro[0].secondaryQualifier = new SecondaryQualifier[1]; instrs.macro[0].secondaryQualifier[0] = new SecondaryQualifier(); instrs.macro[0].secondaryQualifier[0].secondaryQualifierOperator = SecondaryQualifierOperator.Equals; instrs.macro[0].secondaryQualifier[0].secondaryQualifierType = SecondaryQualifierType.SECURITY_DES; instrs.macro[0].secondaryQualifier[0].secondaryQualifierValue = "SPX Index"; instrs.macro[0].overrides = new Override[1]; //A sample of incorrect macro instrs.macro[1] = new Macro(); instrs.macro[1].primaryQualifier = new PrimaryQualifier(); instrs.macro[1].primaryQualifier.primaryQualifierType = MacroType.SECTYP; instrs.macro[1].primaryQualifier.primaryQualifierValue = "OPTCHAIN"; instrs.macro[1].secondaryQualifier = new SecondaryQualifier[1]; instrs.macro[1].secondaryQualifier[0] = new SecondaryQualifier(); instrs.macro[1].secondaryQualifier[0].secondaryQualifierOperator = SecondaryQualifierOperator.Equals; instrs.macro[1].secondaryQualifier[0].secondaryQualifierType = SecondaryQualifierType.SECURITY_DES; instrs.macro[1].secondaryQualifier[0].secondaryQualifierValue = "SPX Index"; //Setting fields for the request string[] field = new string[] { "NAME", "TICKER", "PX_LAST" }; //Submit get data request Console.WriteLine("Sending submit get data request"); SubmitGetDataRequest sbmtGtDtreq = new SubmitGetDataRequest(); sbmtGtDtreq.headers = getDataHdrs; sbmtGtDtreq.fields = field; sbmtGtDtreq.instruments = instrs; SubmitGetDataResponse sbmtGtDtresp = ps.submitGetDataRequest(sbmtGtDtreq); System.Console.WriteLine("status " + sbmtGtDtresp.statusCode.description); System.Console.WriteLine("Submit Get Data request - response ID = " + sbmtGtDtresp.responseId); //retrieve get data request. The response ID sent for the request is the response ID //received from SubmitGetDataRequest() Console.WriteLine("Retrieve data request"); RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest(); rtrvGtDrReq.responseId = sbmtGtDtresp.responseId; RetrieveGetDataResponse rtrvGtDrResp = new RetrieveGetDataResponse(); //Keep sending the request until status code is "0"(success) do { System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL); rtrvGtDrResp = ps.retrieveGetDataResponse(rtrvGtDrReq); } while (rtrvGtDrResp.statusCode.code == PerSecurity.DATA_NOT_AVAILABLE); if (rtrvGtDrResp.statusCode.code == PerSecurity.SUCCESS) { Console.WriteLine("Retrieve get data request successful"); for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++) { if (rtrvGtDrResp.instrumentDatas[i].code.Equals("0")) { System.Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id + " " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey); for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++) { if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true) { //In case this is a bulk field request for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j]. bulkarray.Length; k++) { Console.WriteLine("-------------------------"); for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j]. bulkarray[k].data.Length; l++) Console.WriteLine(rtrvGtDrResp.instrumentDatas[i].data[j] .bulkarray[k].data[l].value); } } else System.Console.WriteLine(" " + sbmtGtDtreq.fields[j] + " : " + rtrvGtDrResp.instrumentDatas[i].data[j].value); } } //If an incorrect macro was passed in the request, display the error code and the incorrect macro else { System.Console.WriteLine("\n Error Code " + rtrvGtDrResp.instrumentDatas[i].code + ": incorrect macro. The Macro object is as follows:"); Console.WriteLine("Primary Qualifier -"); Console.WriteLine("Primary Qualifier type:" + rtrvGtDrResp.instrumentDatas[i]. macro.primaryQualifier.primaryQualifierType); Console.WriteLine("Primary Qualifier value:" + rtrvGtDrResp.instrumentDatas[i]. macro.primaryQualifier.primaryQualifierValue); Console.WriteLine("Secondary Qualifier -"); for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].macro.secondaryQualifier.Length; l++) { Console.WriteLine("Secondary Qualifier type :" + rtrvGtDrResp.instrumentDatas[i]. macro.secondaryQualifier[l].secondaryQualifierType); Console.WriteLine("Secondary Qualifier Value :" + rtrvGtDrResp.instrumentDatas[i]. macro.secondaryQualifier[l].secondaryQualifierValue); Console.WriteLine("Secondary Qualifier Operator :" + rtrvGtDrResp.instrumentDatas[i]. macro.secondaryQualifier[l].secondaryQualifierOperator); } } } } else if (rtrvGtDrResp.statusCode.code == PerSecurity.REQUEST_ERROR) Console.WriteLine("Error in the submitted request"); } catch (Exception e) { Console.WriteLine(e.Message + " " + e.StackTrace); } }
public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps) { //Set request header GetDataHeaders getDataHeaders = new GetDataHeaders(); getDataHeaders.secmaster = true; getDataHeaders.secmasterSpecified = true; getDataHeaders.closingvalues = true; getDataHeaders.closingvaluesSpecified = true; //Defining the instruments for the bulk request Instrument ticker = new Instrument(); ticker.id = "IBM US"; ticker.yellowkeySpecified = true; ticker.yellowkey = MarketSector.Equity; ticker.typeSpecified = false; ticker.type = InstrumentType.TICKER; Console.WriteLine("Submit get Data request"); SubmitGetDataRequest sbmtGtDtreq = new SubmitGetDataRequest(); sbmtGtDtreq.headers = getDataHeaders; sbmtGtDtreq.fields = new string[]{"TOP_ANALYST_PERFORM_RANK_TRR"};//Bulk field Instruments instrs = new Instruments(); instrs.instrument = new Instrument[] { ticker }; sbmtGtDtreq.instruments = instrs; try { SubmitGetDataResponse sbmtGtDtresp = ps.submitGetDataRequest(sbmtGtDtreq); System.Console.WriteLine("Request ID = " + sbmtGtDtresp.requestId + " " + sbmtGtDtresp.responseId); System.Console.WriteLine("status of Get Data request : " + sbmtGtDtresp.statusCode.description); Console.WriteLine("Retrieve get data request"); RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest(); rtrvGtDrReq.responseId = sbmtGtDtresp.responseId; RetrieveGetDataResponse rtrvGtDrResp = new RetrieveGetDataResponse(); do { System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL); rtrvGtDrResp = ps.retrieveGetDataResponse(rtrvGtDrReq); } while(rtrvGtDrResp.statusCode.code==PerSecurity.DATA_NOT_AVAILABLE); if(rtrvGtDrResp.statusCode.code==PerSecurity.SUCCESS){ Console.WriteLine("Response ID " + rtrvGtDrResp.responseId); for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++) { System.Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id + " " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey); for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++) { if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true) { for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].bulkarray.Length; k++) { Console.WriteLine("-------------------------"); for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j]. bulkarray[k].data.Length; l++) Console.WriteLine(rtrvGtDrResp.instrumentDatas[i]. data[j].bulkarray[k].data[l].value); } } else System.Console.WriteLine(" " + sbmtGtDtreq.fields[j] + " : " + rtrvGtDrResp.instrumentDatas[i].data[j].value); } } } else if (rtrvGtDrResp.statusCode.code == PerSecurity.REQUEST_ERROR) { Console.WriteLine("Error in the submitted request"); } } catch(Exception e) { Console.WriteLine(e.Message); } }
public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps) { //Setting request headers GetHistoryHeaders getHistHeaders = new GetHistoryHeaders(); DateRange dtRange = new DateRange(); Duration duration = new Duration(); duration.days = 3; dtRange.duration = duration; getHistHeaders.daterange = dtRange; //Setting instruments Instruments instrs = new Instruments(); instrs.macro = new Macro[2]; instrs.macro[0] = new Macro(); instrs.macro[0].primaryQualifier = new PrimaryQualifier(); instrs.macro[0].primaryQualifier.primaryQualifierType = MacroType.SECTYP; instrs.macro[0].primaryQualifier.primaryQualifierValue = "CONVERTS"; instrs.macro[0].secondaryQualifier = new SecondaryQualifier[1]; instrs.macro[0].secondaryQualifier[0] = new SecondaryQualifier(); instrs.macro[0].secondaryQualifier[0].secondaryQualifierOperator = SecondaryQualifierOperator.Equals; instrs.macro[0].secondaryQualifier[0].secondaryQualifierType = SecondaryQualifierType.TICKER; instrs.macro[0].secondaryQualifier[0].secondaryQualifierValue = "F"; //A sample of incorrect macro instrs.macro[1] = new Macro(); instrs.macro[1].primaryQualifier = new PrimaryQualifier(); instrs.macro[1].primaryQualifier.primaryQualifierType = MacroType.SECTYP; instrs.macro[1].primaryQualifier.primaryQualifierValue = "converts_err"; instrs.macro[1].secondaryQualifier = new SecondaryQualifier[1]; instrs.macro[1].secondaryQualifier[0] = new SecondaryQualifier(); instrs.macro[1].secondaryQualifier[0].secondaryQualifierOperator = SecondaryQualifierOperator.Equals; instrs.macro[1].secondaryQualifier[0].secondaryQualifierType = SecondaryQualifierType.TICKER; instrs.macro[1].secondaryQualifier[0].secondaryQualifierValue = "F"; //Setting get history request parameters string[] fields = new string[] {"PX_LAST"}; SubmitGetHistoryRequest sbmtGtHistReq = new SubmitGetHistoryRequest(); sbmtGtHistReq.headers = getHistHeaders; sbmtGtHistReq.instruments = instrs; sbmtGtHistReq.fields = fields; try { Console.WriteLine("Submit Get History request"); SubmitGetHistoryResponse sbmtGtHistResp = ps.submitGetHistoryRequest(sbmtGtHistReq); System.Console.WriteLine("status " + sbmtGtHistResp.statusCode.description); System.Console.WriteLine("Submit Get Data request - response ID = " + sbmtGtHistResp.responseId); Console.WriteLine("Retrieve data request"); RetrieveGetHistoryRequest rtrvGtHistReq = new RetrieveGetHistoryRequest(); rtrvGtHistReq.responseId = sbmtGtHistResp.responseId; RetrieveGetHistoryResponse rtrvGtHistResp = new RetrieveGetHistoryResponse(); //Keep sending the request until status code is "0"(success) do { System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL); rtrvGtHistResp = ps.retrieveGetHistoryResponse(rtrvGtHistReq); } while (rtrvGtHistResp.statusCode.code== PerSecurity.DATA_NOT_AVAILABLE ); //Displaying data if (rtrvGtHistResp.statusCode.code == PerSecurity.SUCCESS) { for (int i = 0; i < rtrvGtHistResp.instrumentDatas.Length; i++) { if(rtrvGtHistResp.instrumentDatas[i].code.Equals("0")) { System.Console.WriteLine("Data for :" + rtrvGtHistResp.instrumentDatas[i].instrument.id + " " + rtrvGtHistResp.instrumentDatas[i].instrument.yellowkey); Console.WriteLine(rtrvGtHistResp.instrumentDatas[i].date.ToString()); for (int j = 0; j < rtrvGtHistResp.instrumentDatas[i].data.Length; j++) { Console.WriteLine(sbmtGtHistReq.fields[j] + " : " + rtrvGtHistResp. instrumentDatas[i].data[j].value); } } else { System.Console.WriteLine("\nError Code " + rtrvGtHistResp.instrumentDatas[i].code + ": incorrect macro. The Macro object is as follows:"); Console.WriteLine("Primary Qualifier - "); Console.WriteLine("Primary Qualifier type:" + rtrvGtHistResp.instrumentDatas[i]. macro.primaryQualifier.primaryQualifierType); Console.WriteLine("Primary Qualifier value:" + rtrvGtHistResp.instrumentDatas[i]. macro.primaryQualifier.primaryQualifierValue); Console.WriteLine("Secondary Qualifier -"); for (int l = 0; l < rtrvGtHistResp.instrumentDatas[i].macro.secondaryQualifier. Length; l++) { Console.WriteLine("Secondary Qualifier type :" + rtrvGtHistResp.instrumentDatas[i]. macro.secondaryQualifier[l].secondaryQualifierType); Console.WriteLine("Secondary Qualifier Value :" + rtrvGtHistResp.instrumentDatas[i] .macro.secondaryQualifier[l].secondaryQualifierValue); Console.WriteLine("Secondary Qualifier Operator :" + rtrvGtHistResp.instrumentDatas[i] .macro.secondaryQualifier[l].secondaryQualifierOperator); } } } } else if (rtrvGtHistResp.statusCode.code == PerSecurity.REQUEST_ERROR) { Console.WriteLine("Error in the submitted request"); } } catch (Exception e) { Console.WriteLine(e.Message); } }
public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps) { //Setting request headers GetHistoryHeaders getHistHeaders = new GetHistoryHeaders(); DateRange dtRange = new DateRange(); dtRange.period = new Period(); dtRange.period.start = DateTime.Today.Subtract(TimeSpan.FromDays(7)); dtRange.period.end = DateTime.Today; getHistHeaders.daterange = dtRange; getHistHeaders.version = PerSecurity_Dotnet.PerSecurityWSDL.Version.@new; //Setting instruments Instrument ticker = new Instrument(); ticker = new Instrument(); ticker.id = "IBM US"; ticker.yellowkey = MarketSector.Equity; ticker.yellowkeySpecified = true; Instrument bbUniqueId = new Instrument(); bbUniqueId.id = "EQ0086119600001000"; bbUniqueId.yellowkeySpecified = true; bbUniqueId.yellowkey = MarketSector.Equity; bbUniqueId.type = InstrumentType.BB_UNIQUE; bbUniqueId.typeSpecified = true; Instrument[] instr = new Instrument[]{ticker, bbUniqueId}; Instruments instrs = new Instruments(); instrs.instrument = instr; //Setting get history request parameters string[] fields = new string[] {"PX_LAST","PX_HIGH","PX_LOW" }; SubmitGetHistoryRequest sbmtGtHistReq = new SubmitGetHistoryRequest(); sbmtGtHistReq.headers = getHistHeaders; sbmtGtHistReq.instruments = instrs; sbmtGtHistReq.fields = fields; try { Console.WriteLine("Submit Get History request"); SubmitGetHistoryResponse sbmtGtHistResp = ps.submitGetHistoryRequest(sbmtGtHistReq); System.Console.WriteLine("status " + sbmtGtHistResp.statusCode.description); System.Console.WriteLine("Submit Get Data request - response ID = " + sbmtGtHistResp.responseId); Console.WriteLine("Retrieve data request"); RetrieveGetHistoryRequest rtrvGtHistReq = new RetrieveGetHistoryRequest(); rtrvGtHistReq.responseId = sbmtGtHistResp.responseId; RetrieveGetHistoryResponse rtrvGtHistResp = new RetrieveGetHistoryResponse(); //Keep sending the request until status code is "0"(success) do { System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL); rtrvGtHistResp = ps.retrieveGetHistoryResponse(rtrvGtHistReq); } while (rtrvGtHistResp.statusCode.code== PerSecurity.DATA_NOT_AVAILABLE ); //Displaying data if (rtrvGtHistResp.statusCode.code == PerSecurity.SUCCESS) { for (int i = 0; i < rtrvGtHistResp.instrumentDatas.Length; i++) { System.Console.WriteLine("Data for :" + rtrvGtHistResp.instrumentDatas[i].instrument.id + " " + rtrvGtHistResp.instrumentDatas[i].instrument.yellowkey); Console.WriteLine(rtrvGtHistResp.instrumentDatas[i].date.ToString()); for (int j = 0; j < rtrvGtHistResp.instrumentDatas[i].data.Length; j++) { Console.WriteLine(sbmtGtHistReq.fields[j] + " : " + rtrvGtHistResp. instrumentDatas[i].data[j].value); } } } else if (rtrvGtHistResp.statusCode.code == PerSecurity.REQUEST_ERROR) { Console.WriteLine("Error in the submitted request"); } } catch (Exception e) { Console.WriteLine(e.Message); } }
public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps) { try { //Setting request header information GetFundamentalsHeaders getFundsHdrs = new GetFundamentalsHeaders(); DateTime start = new DateTime(2008, 1, 1); DateTime end = DateTime.Today; getFundsHdrs.daterange = new DateRange(); getFundsHdrs.daterange.period = new Period(); getFundsHdrs.daterange.period.start = start; getFundsHdrs.daterange.period.end = end; getFundsHdrs.periodicity = Periodicity.a; //Setting instruments for request FundInstrument ticker = new FundInstrument(); ticker.id = "JPM US"; ticker.yellowkey = MarketSector.Equity; ticker.yellowkeySpecified = true; ticker.type = InstrumentType.TICKER; ticker.typeSpecified = true; FundInstruments instrs = new FundInstruments(); instrs.instrument = new FundInstrument[] { ticker}; //Setting fields for the request string[] field = new string[] { "FISCAL_YEAR_PERIOD", "LATEST_PERIOD_END_DT_FULL_RECORD","NET_REV"}; //Submit get data request Console.WriteLine("Sending get Fundamentals request"); SubmitGetFundamentalsRequest sbmtGtFundsReq = new SubmitGetFundamentalsRequest(); sbmtGtFundsReq.headers = getFundsHdrs; sbmtGtFundsReq.fields = field; sbmtGtFundsReq.instruments = instrs; SubmitGetFundamentalsResponse sbmtGtFundsResp = ps.submitGetFundamentalsRequest(sbmtGtFundsReq); System.Console.WriteLine("status " + sbmtGtFundsResp.statusCode.description); System.Console.WriteLine("Submit Get Fundamentals request - response ID = " + sbmtGtFundsResp.responseId); //retrieve get data request. The response ID sent for the request is the response ID //received from SubmitGetDataRequest() Console.WriteLine("Retrieve Fundamentals request"); RetrieveGetFundamentalsRequest rtrvGtFundsReq = new RetrieveGetFundamentalsRequest(); rtrvGtFundsReq.responseId = sbmtGtFundsResp.responseId; RetrieveGetFundamentalsResponse rtrvGtFundsResp = new RetrieveGetFundamentalsResponse(); //Keep sending the request until status code is "0"(success) do { System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL); rtrvGtFundsResp = ps.retrieveGetFundamentalsResponse(rtrvGtFundsReq); } while (rtrvGtFundsResp.statusCode.code == PerSecurity.DATA_NOT_AVAILABLE); if (rtrvGtFundsResp.statusCode.code == PerSecurity.SUCCESS) { Console.WriteLine("Retrieve get data request successful"); for (int i = 0; i < rtrvGtFundsResp.instrumentDatas.Length; i++) { if (rtrvGtFundsResp.instrumentDatas[i].code.Equals("0")) { System.Console.WriteLine("Data for :" + rtrvGtFundsResp.instrumentDatas[i].instrument.id + " " + rtrvGtFundsResp.instrumentDatas[i].instrument.yellowkey); for (int j = 0; j < rtrvGtFundsResp.instrumentDatas[i].data.Length; j++) { if (rtrvGtFundsResp.instrumentDatas[i].data[j].isArray == true) { //In case this is a bulk field request for (int k = 0; k < rtrvGtFundsResp.instrumentDatas[i].data[j]. bulkarray.Length; k++) { Console.WriteLine("-------------------------"); for (int l = 0; l < rtrvGtFundsResp.instrumentDatas[i].data[j]. bulkarray[k].data.Length; l++) Console.WriteLine(rtrvGtFundsResp.instrumentDatas[i].data[j] .bulkarray[k].data[l].value); } } else System.Console.WriteLine(" " + sbmtGtFundsReq.fields[j] + " : " + rtrvGtFundsResp.instrumentDatas[i].data[j].value); } } } } else if (rtrvGtFundsResp.statusCode.code == PerSecurity.REQUEST_ERROR) Console.WriteLine("Error in the submitted request"); } catch (Exception e) { Console.WriteLine(e.Message + " " + e.StackTrace); } }