def event_record_new_stock(): from venus.stock_manager2 import EventTradeDataManager from venus.stock_base2 import resolve_stock_list event = EventTradeDataManager(GLOBAL_HEADER) stock_list = resolve_stock_list('stock') for stock_code in stock_list: event.init_stock_data(stock_code)
def event_download_stock_data(): from venus.stock_manager2 import EventTradeDataManager from venus.stock_base2 import resolve_stock_list event = EventTradeDataManager(GLOBAL_HEADER) stock_list = resolve_stock_list('stock') for stock_code in stock_list: event.download_stock_data(stock_code)
def unit_test_stock_manager(): from polaris.mysql8 import GLOBAL_HEADER from venus.stock_manager2 import EventTradeDataManager from venus.stock_base2 import resolve_stock_list stock_list = resolve_stock_list('totalstocklist') event = EventTradeDataManager(GLOBAL_HEADER) result = event.get_trade_data('SH600000', event.today) print(result)
def event_adjust_factor(): from venus.stock_interest import EventStockData from venus.stock_base2 import resolve_stock_list stock_list = resolve_stock_list('stock') event = EventStockData(GLOBAL_HEADER) for stock_code in stock_list: print(stock_code) df = event.adjust_factor(stock_code) event.record_factor(stock_code, df)
def event_init_interest(): from venus.stock_interest import EventInterest from venus.stock_base2 import resolve_stock_list stock_list = resolve_stock_list('stock') event = EventInterest(GLOBAL_HEADER) event._load_template() for stock_code in stock_list: event.record_interest(stock_code) delay(10)
def event_create_stock_table(): """ Init database from a blank stock list. """ from venus.stock_manager2 import EventTradeDataManager from venus.stock_base2 import resolve_stock_list stock_list = resolve_stock_list('totalstocklist') event = EventTradeDataManager(GLOBAL_HEADER) for stock_code in stock_list: event.create_stock_table(stock_code)
def event_flag_quit_stock(): from venus.stock_classify import StockClassify from venus.stock_base2 import resolve_stock_list event = StockClassify(GLOBAL_HEADER) stock_list = resolve_stock_list('stock') for stock_code in stock_list: flag = event.flag_quit_stock(stock_code) if flag: sql = (f"UPDATE stock_manager set flag='q' " f"WHERE stock_code='{stock_code}'") event.engine.execute(sql)
def event_set_update_date(): from venus.stock_manager2 import EventTradeDataManager from venus.stock_base2 import resolve_stock_list from datetime import datetime event = EventTradeDataManager(GLOBAL_HEADER) stock_list = resolve_stock_list('stock') for stock_code in stock_list: df = event.select_values(stock_code, 'trade_date') try: update_date = df[0][-1:].values update = update_date[0] t = update.strftime('%Y-%m-%d') # print(t) event.update_value('stock_manager', 'update_date', f"'{t}'", f"stock_code='{stock_code}'") except Exception as e: print(e)
def event_download_detail_data(trade_date_list: list = None): import datetime from jupiter.network import delay from venus.stock_base2 import resolve_stock_list from venus.stock_manager2 import EventTradeDataManager stock_list = resolve_stock_list('stock') event = EventTradeDataManager(GLOBAL_HEADER) today = datetime.date.today() if not trade_date_list: trade_date_list = [ (today - datetime.timedelta(days=i)).strftime('%Y%m%d') for i in range(1, 6) ] stock_list = event.get_all_stock_list() for trade_date in trade_date_list: for stock in stock_list: # print(f"Download detail trade data {stock}: {trade_date}") event.get_trade_detail_data(stock, trade_date) delay(3)
return ipo_date[0] def get_ipo_date(self, stock_code): query = self.select_values(stock_code, 'trade_date') ipo_date = pd.to_datetime(query[0]) return ipo_date[0] def absolute_path(file_path: str, file_name: str) -> str: """ Connect path with file, return a absolute path. """ if (file_path[-1] == '/') and (file_name[0] == '/'): result_path = file_path + file_name[1:] elif (file_path[-1] != '/') and (file_name[0] != '/'): result_path = file_path + '/' + file_name else: result_path = file_path + file_name return result_path if __name__ == "__main__": from polaris.mysql8 import GLOBAL_HEADER, mysqlHeader root = mysqlHeader('root', '6414939', 'stock') event = EventTradeDataManager(root) from venus.stock_base2 import resolve_stock_list stock_list = resolve_stock_list('stock') for stock_code in stock_list: print(stock_code) event.download_stock_data(stock_code)