Skip to content

Releases: fasiondog/hikyuu

2.0.1

07 Apr 07:08
6f814a5
Compare
Choose a tag to compare
  1. 新增 TURNOVER (换手率指标)
  2. 新增股票类型 STOCKTYPE_A_BJ (北交所), 修复科创板和北交所股票最小交易量为1
  3. fixed tm 建立日期小于参考日期时 sys_performance 报错
  4. hub 中的 prtflo 更名为 pf, 和内部叫法统一
  5. 调整 MF_MultiFactor getScores 方法命名(原为 getScore ),并调整为在指定日期不存在数据时返回空列表(原为抛出异常)
  6. fixed python 中 TradeRecordList/PositionRecordList 中 to_df 方法失效
  7. hku_catch 中忽略对 KeyboardInterrupt 的捕获,避免 python 中 Ctrl-C 无法终止
  8. crtSL 更名为 crtSP (移滑价差算法),和内部其他叫法统一
  9. fixed 缺失 hku_save / hku_load 函数,导致示例运行失败
  10. fixed crtMM 补充缺失的接口
  11. 更新其他运行失败示例,如 OrderBroker (pybind需要先创建对象再传入方法)
  12. python 中缺失 CAPITAL (流通盘), 原可使用 LIUTONGPAN, 但缺失对 CAPITAL 的同名指定

2.0.0

03 Apr 03:48
392a420
Compare
Choose a tag to compare
  1. 新增特性

    • 新增 MF 多因子组件,用于时间截面对各标的排序评分,重新整理 PF(投资组合)、SE(选股算法)。从投资组合(PF)--截面评分(MF)--选股过滤(SE)--系统策略(SYS)--择时(SG)--资金管理(MM)--止损(ST)/止盈(TP)--盈利目标(PG) 全链条的交易组件化。
    • 新增指标 ZBOND10(10年期国债收益率用于计算夏普比例)、SPEARMAN(秩相关系数)、IC(信息系数)、ICIR(信息比率)
    • 新增复权类指标(EQUAL_FORWARD 等), 方便需要复权数据的指标计算
    • python 中 PF、SYS 增加 performance 方法,直接查看系统绩效
    • 新增 concat_to_df 将多个指标数据合并为 pandas DataFrame,方便其他使用 pandas 的工具包进一步处理
    • 所有系统部件及指标支持参数变更时的动态检查
  2. 其他优化与调整

    • python 中增强系统部件快速创建方法直接支持带有私有属性的 python 继承实例进行 clone,从而在 c++ 中调用
    • ALIGN 指标 增加 “fill_null” 参数,控制对齐填充(填充 nan 值 或使用最近数据进行填充)
    • System reset/clone 改为依据部件共享属性进行实际操作
    • 优化 C++ log 输出到 python 环境的交互
    • StockManager、Block、MF 可以直接通过过滤函数进行过滤获取相关证券
    • python 中改进 CLOSE/OPEN/HIGH/LOW/AMO/VOL,使其在公式中不再必须要括号
    • Indicator 增加 equal/isSame 方法,简化一些测试代码
    • Performance 统计结果按顺序输出
    • 获取仓库组件的 get_part 方法,不用必须指定参数名
    • 优化 TradeManager 获取资金曲线相关方法及其他 python 引入调整
    • 清理 C++ serialization 头文件包含及 cppcheck 静态检查信息
    • MYSQL_OPT_RECONNECT 兼容
    • SpendTimer 改输出到 std::cout ,以便 jupyter 可以捕获输出

SpendTimer 改输出到 std::cout ,以便 jupyter 可以捕获输出

  1. 缺陷修复
    • fixed 建stock.db时候没包括历史退市的股票
    • fixed tdx本地数据导入问题
    • fixed low_precision 下python部分测试用例
    • fixed python 日志目录创建
    • fixed get_trans_list 数据错误

1.3.5

29 Feb 15:41
90962c4
Compare
Choose a tag to compare
  1. 整体性能优化

    • 整体性能优化,Indicator 计算速度再次提升 10% ~ 20%
    • 编译支持 low_precision 参数,Indicator 可以使用 float 进行计算,在前述基础上可以再次提升计算速度,尤其是指支持 float neon 的 arm 芯片。(需自行编译)
  2. 功能增强

    • 增加 STOCKTYPE_CRYPTO 数字货币类型,及其相关修改支持
    • 系统有效条件组件 Condition 支持逻辑操作(+,-,*,/,&,|),及支持 _addValid 时附带额外数值(后续版本会在其他系统部件中增加此功能)
    • 增加 EV_bool 系统环境组件,python 中增加 ev.plot 绘制 ev
    • ev 增加线程保护,ev 通常作为公用组件,只计算一次,需要增加线程保护
    • hikyuutdx 导入工具过滤长度非 6 位的证券代码,防止导入速度严重变慢
  3. 缺陷修复

    • fixed 相关系数指标 CORR
    • fixed Indicator 动态优化错误,部分使用 getResult 后再使用的场景执行失败
    • fixed 系统策略组件 clone 操作中未对引用的 Indicator clone,导致崩溃
    • fxied strategy的绑定string list到vector出错的问题,和python TestStrategy中的type
    • fixed python 中 SYS_Simple 中 cn 等函数参数不生效

1.3.4

01 Feb 11:27
Compare
Choose a tag to compare
  1. fixed windows 下第三方依赖 hikyuu 的 C++ 代码中无法使用 KData
  2. 调整 matplotlib font manager 日志级别

1.3.3

31 Jan 10:53
e3b495a
Compare
Choose a tag to compare
  1. 配合 hub (策略组件仓库) 使用 C++ 部件更新,参见 <https://gitee.com/fasiondog/hikyuu_hub>_
  2. 尝试获取用户目录下的 hosts.py,方便修改相关 pytdx 服务器设置
  3. 调整log级别宏定义避免windows下冲突
  4. 清理优化 cppcheck 告警提示信息

1.3.2

06 Jan 08:50
Compare
Choose a tag to compare
  1. 整体调整与优化

    • 整体从 boost.python 切换至 pybind11,以便在 C++ 部分中可以方便的进行 GIL 解锁,并行调用 python 代码
    • 优化权息数据加载速度,尤其是使用 MYSQL 引擎时,缩短初始化加载周期从 6s 至 1s
    • Block信息改为使用 MySQL/SQLite 方式,原有钱龙ini格式支持保留,但需要自行修改配置文件,
      且使用 HikyuuTdx 进行配置时,使用 hdf5 存储时,配置文件会被自动更新为使用 SQLite 方式。
      如果想继续使用钱龙格式,需使用 importdata 进行导入,且需自行调用 tools/update_block_info.py 更新板块信息。
  2. 功能增强

    • 优化行情采集服务支持网络内发送和接收数据
    • 新增技术指标 MDD/MRR 相对历史最高值回撤百分比/相对历史最低值盈利比例
    • 支持版本升级提示
    • 创建默认配置文件,用于没有gui的环境
    • Performance 增加单笔最大盈利/亏损比例统计
    • add CN_Bool 布尔信号指标系统有效条件
    • 增强Condiciton, 增加get_datetime_list, get_valuse方法
    • hikyuutdx未选择数据时添加提示
    • add Performance.to_df in python
    • Datetime 增加 ticks 方法,获取距最小日期过去的微秒数
  3. 缺陷修复

    • fixed 调整止盈初始值,使其在未发生盈利前不生效
    • fixed BandSignal 缺失序列化
    • fixed Condiciton在未设置SG时无法生效
  4. 其他修改

    • 兼容 akshare 新旧版本
    • 屏蔽 talib 导入告警

1.3.1

05 Dec 18:09
Compare
Choose a tag to compare
  1. 增加通达信时间指标(DATE/TIME/YEAR/MONTH/WEEK/DAY/HOUR/MINUTE)
  2. 增加 SLOPE 计算线性回归斜率指标
  3. 优化 MYSQL 引擎数据存储,支持分时/分笔数据导入,财务数据导入
  4. Datetime增加支持到秒级整数构建及ymdhms系列返回整数方法
  5. fixed 北交所数据导入未更新最后更新日期
  6. fixed CVAL 指标等效时可能造成的崩溃
  7. fixed windows下配置文件utf-8错误

1.3.0

05 Nov 13:23
Compare
Choose a tag to compare
  1. 性能优化

    #125 <https://github.com/fasiondog/hikyuu/pull/125>_ 指标融合优化,计算速度提升了8~10倍左右。

  2. 功能增强

    • TradeManager 引出买空/买空操作至 python
    • Stock 引出 get_index_range 方法至 python
    • 编译选项增加 stacktrace 选项,方便异常时打印 C++ 堆栈
    • 优化 TimerManager、线程池、数据驱动等基础设施
    • MySQL/SQLite 数据引擎支持绑定 datetime
    • 优化指标默认名称
    • 升级 flatbuffers 版本至 23.5.6
    • 优化 Stock 的相等比较
    • KQuery/KRecord/KData 相等/不等比较完善并引出至 python
    • 完善 Performance
  3. 其他错误修复

    • 更新 SG 信号指示器系列方法,去除移除 OP 后的一些遗留问题
    • 修复 TradeList 转 np 时使用了已废弃的方法
    • 修复 SUM 存在访问越界的问题
    • 修复 IniParser 不支持 windows 中文路径的问题
    • 修复 RSI 存在 NaN 值时计算错误
    • 修复 Ubuntu 23.10 下编译失败的问题

1.2.9

08 Oct 17:54
Compare
Choose a tag to compare
  1. 稳定性与兼容性

    • 修复了 setup.py 更新编译模式时的问题,确保并行编译参数能够正常生效
    • 对 HikyuuTdx 数据下载进行了优化,增加了超时处理,以防止网络连接问题导致进度停滞
    • 增加了对 pytdx 连接失败的检测,以便记录相关日志
  2. 算法优化

    • 优化了 VAR 和 STDP 算法,现在使用移位算法,提升了计算效率
    • 修复了 weave formula 中缺少 break 的问题,避免了在打印时出现崩溃
    • 增加了相关系数指标 CORR
    • 修复了 SUM 中缺少 discard 设置的问题
    • 修复了 setDiscard 在 discard 小于 size 时未对 m_discard 进行赋值的问题
  3. 功能增强

    • 新增 pyechart 绘图支持
    • 在 ipython/notebook 模式下,自动设定 matplotlib 绘图为交互模式,并改善了 bokeh 绘图效果
    • StrategyBase 现在可以直接获取 StockManager 实例
    • 自动设置 matplotlib 的中文字体
    • 增加了 TimerManager 对系统时间发生变化的保护
    • SQLite kdata driver 新增了支持转换时间间隔的功能
  4. 其他修复和改进

    • 修复 getFinanceInfo 和 getHistoryFinanceInfo 的问题,只对 STOCKTYPE_A 生效
    • 修复 IndicatorImp::setContext 方法中判断逻辑的问题,确保在遍历过程中 Context 能够正确修改
    • 增加一下常用了跨平台函数
    • 添加了反馈信息发送功能
    • 优化了编译选项,对于部分用户直接使用 xmake 进行编译控制
    • 修复了 split 函数的缺陷,并新增了 byteToHexStr 系列 byte 转字符串函数

1.2.8

15 Aug 23:51
Compare
Choose a tag to compare
  1. fixed 多broker时m_broker_last_datetime更新
  2. support Query.HOUR2
  3. 优化 Stock 缓存修改增加二次保护
  4. fix time delta when start_time < phase1_start
  5. add timeout for proxy requests.get
  6. 重复用一个代理ip,当超时6次换ip
  7. 解决delta.total_seconds()出现负值的情况
  8. update executor.map timeout
  9. fixed for bokeh3
  10. fixed flatbuffers version
  11. 升级 fmt
  12. fix "zsbk_sz = blockbj" to "zsbk_bj = blockbj"
  13. 优化编译工程