Hikyuu Quant Framework 基于C++/Python的开源量化交易研究框架
APACHE-2.0 License
Bot releases are hidden (Show)
Published by fasiondog almost 3 years ago
Published by fasiondog over 3 years ago
fixed:
1、HikyuuTDX 切换mysql导入时错误提示目录不存在
2、tdx本地导入修复,并支持导入MySQL
Published by fasiondog over 3 years ago
1、更新examples/notebook相关示例
2、fixed bugs
Published by fasiondog over 3 years ago
Published by fasiondog almost 4 years ago
导入工具修复权息信息导入
支持 MySQL 作为存储引擎(通过导入工具配置)
整改 python api 命名,类按大写驼峰,方法和函数统一为小写加下划线
增加 TimeDelta,方便日期时间计算,如:Datetime(202011090000) + TimeDelta(1)。python中可以使用 datetime.timedelta
Portfolio(资产组合算法)、Allocatefunds(资金分配算法)、Selector(交易对象选择算法)可用
交易数量从整型改为float,方便支持数字币、外汇等
增加策略算法仓库,欢迎大家提交PR贡献公共策略:https://gitee.com/fasiondog/hikyuu_hub
增加本地仓库:add_local_hub('dev', '/home/fasiondog/workspace/stockhouse')
更新参考:update_hub('default')
获取指定仓库的策略部件:st = get_part('default.st.fixed_percent')
其他BUG修复与优化
Published by fasiondog over 5 years ago
Published by fasiondog over 5 years ago
修复 Indicator 无法作为原型使用,导致部分预定义的 SG 等无法正在运行的BUG。如:
#以下两种写法等效:
(EMA() + MA())(C) #原型法
EMA(C) + MA(C) #普通写法
交互模式下,增加预定义的全局变量 O、H、L、C、A、V,分别代表 OPEN()、HIGH()、LOW()、CLOSE()、AMO()、VOL(),编写自定义指标时更快捷。默认绑定的上下文为 sh000001(上证指数),可使用 set_gloabl_context 更改绑定的默认上下文。如:
x = EMA(C) + MA(C)
x.plot() #绘制的是 sh000001
x.setContext("sz000001") #设置指标 x 的上下文为 sz000001
set_gloabl_context("sz000001") #更改 O,H,L,C,A,V默认绑定的上下文
交互模式下,增加 Datetime 同名缩写 D。原 Datetime(201901010000) 可简写为 D(201901010000)
优化 HHV、LLV、SUM、COUNT 指标实现,去除双重循环
新增内建指标:HHVBARS, LLVBARS, ROUND,ROUNDUP, ROUNDDOWN, FLOOR, CEILING, BETWEEN, POW, STD, SQRT, LOG, LN
修复 IF 两个参数为 price_t 时的计算错误
对应版本的帮助文档: https://hikyuu.readthedocs.io/zh_CN/1.1.1/
HikyuuTDX 新增当前财务信息及历史财务信息下载
Stock 新增 getFinanceInfo、getHistoryFinanceInfo 支持当前及历史财务信息
新增 LIUTONGPAN(流通盘)、HSL(换手率)、COUNT、IF、SUM、NOT、EXP、SGN、ABS、MAX、MIN指标
Kdata添加便捷方法获取OPEN/CLOSE等基本行情数据,如:
k = sm['sh000001'].getKData(Query(-100))
c = k.close # 返回的是 Indicator 实例,即 CLOSE(k)
实现 select 函数,示例:
#选出涨停股
C = CLOSE()
x = select(C / REF(C, 1) - 1 >= 0.0995))
优化 Indicator 实现(取消 Operand),可以事先指定 KData,亦可后续通过 setContext 切换上下文,重新指定 KData。例如:
#示例:移植通达信 DMI(趋向指标系统)
#MTR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),N);
#HD :=HIGH-REF(HIGH,1);
#LD :=REF(LOW,1)-LOW;
#DMP:=SUM(IF(HD>0&&HD>LD,HD,0),N);
#DMM:=SUM(IF(LD>0&&LD>HD,LD,0),N);
#PDI: DMP100/MTR;
#MDI: DMM100/MTR;
N = 14
C = CLOSE()
H = HIGH()
L = LOW()
MTR = SUM(MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(REF(C,1)-L)),N);
HD = H-REF(H,1)
LD = REF(L,1)-L
DMP = SUM(IF(HD>0 & HD>LD, HD, 0), N)
DMM = SUM(IF(LD>0 & LD>HD, LD, 0), N)
PDI = DMP100/MTR
MDI = DMM100/MTR
PDI.setContext(sm['sz000001'], Query(-100))
MDI.setContext(sm['sz000001'], Query(-100))
PDI.plot()
MDI.plot(new=False)
Parameter 支持 Stock、Query、KData