Esempio n. 1
0
 def update_eod_date(start_date_str=EODDateConfig.eod_start_date,
                     end_date_str=DateTimeUtils.date2str(date.today()),
                     eod_cutoff_time=EODDateConfig.eod_cutoff_time):
     end_date = DateTimeUtils.str2date(end_date_str)
     start_date = DateTimeUtils.str2date(start_date_str)
     # 获取节假日信息
     db_session = create_db_session()
     # TODO: 需要从配置文件读取
     if not TradingDayService.is_trading_day(db_session, end_date):
         # 如果当天不是交易日则直接计算上一个交易日的值
         end_date = TradingDayService.go_trading_day(db_session, end_date, 1, -1)
     else:
         # 如果是交易日,小于cutoff time还是返回上一个交易日
         if datetime.now().time() < DateTimeUtils.str2time(eod_cutoff_time):
             end_date = TradingDayService.go_trading_day(db_session, end_date, 1, -1)
         else:
             end_date = end_date
     # 设置变量到airflow variable
     AirflowVariableUtils.set_eod_start_date(start_date)
     AirflowVariableUtils.set_eod_end_date(end_date)
def eod_vol_surface_update_run():
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    process_num = AirflowVariableUtils.get_fair_vol_marking_process_num()
    VolSurfaceService.update_all_vol_surface(eod_end_date, eod_end_date, process_num)
def eod_realized_vol_update_run():
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    RealizedVolService.update_days_instrument_realized_vol(eod_end_date, eod_end_date, force_update=True)
def eod_otc_position_update_run():
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    eod_start_date = eod_end_date - timedelta(days=7)
    ROTCPositionService.update_implied_vol(eod_start_date, eod_end_date, force_update=False)
def eod_otc_future_contract_update_run():
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    eod_start_date = eod_end_date - timedelta(days=7)
    FutureContractInfoService.update_all_future_contract_info(eod_start_date, eod_end_date, force_update=True)
def eod_otc_trade_snapshot_update_run():
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    eod_start_date = eod_end_date - timedelta(days=7)
    OTCTradeSnapshotsService.import_otc_trade_snapshots(eod_start_date, eod_end_date, force_update=False)
def eod_wind_market_data_update_run():
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    eod_start_date = eod_end_date - timedelta(days=7)
    OTCMarketDataService.backfill_otc_market_data(eod_start_date, eod_end_date, force_update=False)
def manual_vol_surface_update_run():
    eod_start_date = AirflowVariableUtils.get_eod_manual_date()
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    VolSurfaceService.update_all_vol_surface(eod_start_date, eod_end_date)
def manual_otc_position_update_run():
    eod_start_date = AirflowVariableUtils.get_eod_manual_date()
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    ROTCPositionService.update_implied_vol(eod_start_date,
                                           eod_end_date,
                                           force_update=True)
def manual_otc_trade_snapshot_update_run():
    eod_start_date = AirflowVariableUtils.get_eod_manual_date()
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    OTCTradeSnapshotsService.import_otc_trade_snapshots(eod_start_date,
                                                        eod_end_date,
                                                        force_update=True)
def manual_wind_market_data_update_run():
    eod_start_date = AirflowVariableUtils.get_eod_manual_date()
    eod_end_date = AirflowVariableUtils.get_eod_manual_date()
    OTCMarketDataService.backfill_otc_market_data(eod_start_date,
                                                  eod_end_date,
                                                  force_update=True)