conf = default_config()
deep_update(user_config(), conf)
deep_update(project_config(), conf)
三種不一樣級別的配置,第一個是默認配置,第二個是用戶級配置,第三個是工程級配置(這種方法看起來和php的配置邏輯類似)
第四個是命令行若存在config_path選項,則使用config_path提供的配置
get_trading_calendar, 搞清楚這兒怎樣獲得的交易日:經過讀取文件:trading_dates.bcolz獲取到:
經過:
self._dates = pd.Index(pd.Timestamp(str(d)) for d in bcolz.open(f, 'r')),
其中:f = 'C:\\Users\\lu/.rqalpha\\bundle\\trading_dates.bcolz'
獲取到的數據是已經去除了週六和週日,國家公佈的法定節假日的日期集合
取得的數據相似以下:
DividendStore:看起來是除權信息
InstrumentStore看起來是股票信息,形如:
經過:
user_strategy = Strategy(env.event_bus, scope, ucontext, should_run_init)
env.user_strategy = user_strategy
user_strategy.init()
將代碼讀入並運行php
executor.py是一個執行器ide
executor.run():spa
這兒經過simulation_event_source.events():命令行
在simulation_event_source.py中:
code
yield Event(EVENT.BEFORE_TRADING, calendar_dt=dt_before_trading, trading_dt=dt_before_trading)這兒連續幾個yield須要深度理解,明顯尚未理解好