44#include " EquitiesData.h"
55#include " EquityOrder.h"
66#include " OptionsOrder.h"
7+ #include " OptionsData.h"
78#include " Tradier.h"
89#include < iostream>
910#include < iomanip>
@@ -66,13 +67,14 @@ int main() {
6667 bool liveTrade = false ;
6768
6869 //
69- // Instantiate Account, EquitiesData, EquityOrder, OptionsOrder classes
70+ // Instantiate Account, EquitiesData, EquityOrder, OptionsOrder, OptionsData classes
7071 //
7172
7273 Account myAccount (accountNumber, authToken, liveTrade);
7374 EquityOrder equityOrder (accountNumber, authToken, liveTrade);
7475 OptionsOrder optionsOrder (accountNumber, authToken, liveTrade);
7576 EquitiesData equitiesData (accountNumber, authToken, liveTrade);
77+ OptionsData optionsData (accountNumber, authToken, liveTrade);
7678
7779 //
7880 // Retrieve general account information
@@ -121,15 +123,16 @@ int main() {
121123
122124 std::cout << " !!!!! QUOTES - DOW 30 !!!!!" << std::endl;
123125
124- std::string symbolList = " AMZN,AXP,AMGN,AAPL,BA,CAT,CSCO,CVX,GS,HD,HON,IBM,INTC,JNJ,KO,JPM,MCD,MMM,MRK,MSFT,NKE,PG,TRV,UNH,CRM,VZ,V,WMT,DIS,DOW" ;
125- auto dowQuotes = equitiesData.getQuotes (symbolList);
126- std::cout << dowQuotes << std::endl;
126+ // std::string symbolList = "AMZN,AXP,AMGN,AAPL,BA,CAT,CSCO,CVX,GS,HD,HON,IBM,INTC,JNJ,KO,JPM,MCD,MMM,MRK,MSFT,NKE,PG,TRV,UNH,CRM,VZ,V,WMT,DIS,DOW";
127+ // auto symbolListNoDividends = equitiesData.getQuotes(symbolList);
128+ // std::string symbolListNoDividends = "AMZN, BKNG, CMG, CRM, SHOP, UBER, SQ, SNAP, GΟΟG";
129+ // std::cout << symbolListNoDividends << std::endl;
127130
128131 //
129132 // Print Quotes in Sequential Blocks
130133 //
131134
132- // for (const auto& quote : dowQuotes ) {
135+ // for (const auto& quote : symbolListNoDividends ) {
133136 // std::cout << "Symbol: " << quote["symbol"] << std::endl;
134137 // std::cout << "Ask: " << quote["ask"] << std::endl;
135138 // std::cout << "Bid: " << quote["bid"] << std::endl;
@@ -151,17 +154,17 @@ int main() {
151154 << std::endl;
152155 std::cout << std::setfill (' -' ) << std::setw (55 ) << " " << std::setfill (' ' ) << std::endl;
153156
154- for (const auto & quote : dowQuotes ) {
155- std::cout << std::left
156- << std::setw (10 ) << quote[" symbol" ].get <std::string>() << std::fixed << std::setprecision (2 )
157- << std::setw (10 ) << quote[" ask" ].get <double >()
158- << std::setw (10 ) << quote[" bid" ].get <double >()
159- << std::setw (10 ) << quote[" change" ].get <double >()
160- << std::setw (10 ) << quote[" change_percentage" ].get <double >()
161- << std::endl;
162- }
163- std::cout << std::setfill (' -' ) << std::setw (55 ) << " " << std::setfill (' ' ) << std::endl;
164- std::cout << std::endl;
157+ // for (const quote : symbolListNoDividends ) {
158+ // std::cout << std::left
159+ // << std::setw(10) << quote["symbol"].get<std::string>() << std::fixed << std::setprecision(2)
160+ // << std::setw(10) << quote["ask"].get<double>()
161+ // << std::setw(10) << quote["bid"].get<double>()
162+ // << std::setw(10) << quote["change"].get<double>()
163+ // << std::setw(10) << quote["change_percentage"].get<double>()
164+ // << std::endl;
165+ // }
166+ // std::cout << std::setfill('-') << std::setw(55) << "" << std::setfill(' ') << std::endl;
167+ // std::cout << std::endl;
165168
166169
167170 //
@@ -206,7 +209,6 @@ int main() {
206209 std::string duration = " day" ;
207210
208211 auto response = optionsOrder.order (occSymbol, orderType, side, quantity, underlying, limitPrice, stopPrice, duration);
209- // std::cout << "Broker Response: " << response.dump(4) << std::endl;
210212 std::cout << std::setfill (' -' ) << std::setw (55 ) << " " << std::setfill (' ' ) << std::endl;
211213 std::cout << std::endl;
212214
@@ -227,6 +229,33 @@ int main() {
227229 std::cerr << " Exception occurred: " << e.what () << std::endl;
228230 }
229231
232+
233+ //
234+ // OPTIONS DATA
235+ //
236+
237+ std::cout << " !!!!! EQUITY DATA !!!!!" << std::endl;
238+
239+ nlohmann::json dupontChain = optionsData.getChain (" DD" , " 2024-06-28" );
240+ std::cout << " Dupont Chain: " << dupontChain.dump (4 ) << std::endl;
241+ std::cout << std::endl;
242+
243+ nlohmann::json dupontStrikes = optionsData.getStrikesForExpiry (" DD" , " 2024-06-28" );
244+ std::cout << " Dupont Strikes Jun28: " << dupontStrikes.dump (4 ) << std::endl;
245+ std::cout << std::endl;
246+
247+ nlohmann::json dupontContracts = optionsData.getOptionsContracts (" DD" , true , true , true );
248+ std::cout << " Dupont Contracts: " << dupontContracts << std::endl;
249+ std::cout << std::endl;
250+
251+ nlohmann::json dupontOccs = optionsData.getOccsFromUnderlying (" DD" );
252+ std::cout << " Dupont OCC Symbols" << std::endl;
253+ std::cout << dupontOccs << std::endl;
254+ std::cout << std::endl;
255+
256+ std::cout << std::setfill (' -' ) << std::setw (55 ) << " " << std::setfill (' ' ) << std::endl;
257+ std::cout << std::endl;
258+
230259 return 0 ;
231260}
232261
@@ -275,4 +304,6 @@ int main() {
275304
276305
277306//
278- //
307+ // ERROR
308+ //
309+
0 commit comments