def run(self): if Market_Calendar().is_market_open(self.__today_str, self.__now_str): try: libor_rates_curve = FRED_API().get_libor_rates_curve() except: print ('\n'*2), 'The request to the FRED api has failed. Now exiting...', ('\n'*2) else: td_session = TD_API(self.__usr_pars['TD_ID'], self.__usr_pars['TD_VERSION']) td_session.login(self.__usr_pars['TD_NAME'], self.__usr_pars['TD_PASSWORD']) if td_session.logged_in: # pull raw data all_data = td_session.pull_data(self.__symbols, self.__expiry_months) td_session.logout() # parse raw data parsed_data = td_session.parse_data(all_data) # perform calcs on parsed data final_data = Calculate(self.__today_str, parsed_data, libor_rates_curve).run() # store final data mongo = Mongo(self.__today_str, final_data, \ {'user':self.__usr_pars['TD_NAME'], 'pwd':self.__usr_pars['DB_PASSWORD']}) mongo.write() mongo.disconnect() print ('\n'*2), 'SUCCESS.', ('\n'*2) else: print ('\n'*2), 'The markets are currently closed.', ('\n'*2)
from mongo import Mongo from mqtt import MQTT from signal import pause mongo = Mongo() mqtt = MQTT(mongo) mongo.connect() mqtt.run() try: pause() except KeyboardInterrupt: pass mqtt.stop() mongo.disconnect()