core package¶
Submodules¶
core.a module¶
Created by x2h1z on 2021/2/25.
- class core.a.A[源代码]¶
基类:
objectA Backtesting Framework
通常你只需要继承
A然后实现它的两个方法即可, Simple Example:class Demo(A): def __init__(self): self.date = datetime.today() # 设置回测所用到的数据所在路径 self.set_source_path("<source/path>") # 设置买入时段和卖出时段 self.init(143000, 30 * 60, 93000, 30 * 60) def on_day_stock(self, symbol_code: str, date: str, stock_df: pd.DataFrame) -> bool: # 因子计算等操作 pass def on_day_result(self): # 对回测结果的分析. 比如计算收益率 result = self.rate_of_return_calc(self.date, ["000001"]) if __name__ == '__main__': d = Demo() # 启动回测 d.start()
- COLUMNS = ['BeginTime', 'EndTime', 'OpenPrice', 'HighPrice', 'LowPrice', 'ClosePrice', 'ThisVolume', 'ThisTurnover', 'PreClose', 'UpLimit', 'DropLimit', 'Volume', 'Turnover']¶
- static get_next_day(date: Union[str, datetime.datetime]) datetime.datetime[源代码]¶
获取下一个交易日
- Args:
date: 日期
Returns: 下一个交易日的datetime对象
- init(buy_time: int, buy_time_end: int, sell_time: int, sell_time_end: int, encoding: str = 'utf-8') None[源代码]¶
初始化参数配置
- Args:
buy_time: 买入时间 buy_time_end: 买入时长(秒) sell_time: 卖出时间 sell_time_end: 卖出时长(秒) encoding: 文件的编码格式. 作用于程序的所有读取和写入
Returns: None
- property market¶
- on_day_stock(symbol_code: str, date: str, stock_df: pandas.core.frame.DataFrame) bool[源代码]¶
当遍历完个股一天行情时会调用这个函数
子类必须实现该方法会运行在子线程- Args:
symbol_code: 股票代码 date: 日期 stock_df: 行情数据
- Returns: 是否缓存当前 stock_df. 返回 true 会将当前 stock_df 缓存
该缓存的数据会在计算收益率中使用, 无特殊需求, 返回True即可
Raises: NotImplementedError