413 Star 1.9K Fork 778

GVPfasiondog/hikyuu

2024-06-18 01:27
3859 fasiondog 1578914213 fasiondog
  1. 新增特性
    Selector 支持 +-*/、AND、OR 操作,方便验证共振

  2. 缺陷修复

    • fixed 北交所92号段历史财务信息导入
    • fixed 对 etf 缩股的复权处理错误
    • fixed INSUM 在某些股票无数据时的报错
    • fixed getSystemPartName/getSystemPartEnum 缺失 PF
    • fixed PF 处理立即买入/延迟卖出的系统
    • fixed analysis 在 k 线无数据时报错
    • fixed get_current_hub 获取当前 hub 名称时错误
    • fixed 通达信本地数据导入时导入历史财务数据的进度通知消息
  3. 功能优化

    • 优化 INSUM, BLOCKSETNUM 可直接输入 stock list, 可以忽略 query 参数
    • 优化 HikyuuTDX,避免目录不存在时导入
    • 优化 SE_MultiFactor 以更好的适应 PF
    • 优化 performance 绘图,参考标的累积收益率使用等比后复权计算
    • 优化程序退出:非内存泄漏检测模式下由OS系统快速释放内存资源
    • 优化泄漏检测工程;清理优化clang、cppcheck编译告警;优化shared_ptr创建
2024-05-27 17:14
3859 fasiondog 1578914213 fasiondog
  1. fixed Parameter 中对 Block 的支持,造成 INSUM 无法参与其他指标的计算
  2. Porfolio 添加对延迟系统可能出现的未来信号保护
2024-05-22 18:44
3859 fasiondog 1578914213 fasiondog
  1. fixed 权息数据中转送股导入错误
  2. 增加 BLOCKSETNUM、INSUM 横向统计指标
  3. 本地数据导入时未导入历史财务信息
  4. Block 支持直接加入 list 格式的证券列表
  5. fixed 空 Block 序列化后无法加载
2024-05-19 03:06
3859 fasiondog 1578914213 fasiondog
  1. sys.performance 绘图时标题中加上对应的证券名称及标识,以及修正统计范围为回测截止时间
  2. 优化内建信号指示器 SG_Band, 支持使用 3 个指标分别作为参考、下轨、上轨
  3. fixed MultiFactorBase 默认构造时缺失名称
  4. fixed SignalBase reset 中缺失对象成员
  5. fixed System 中止盈实现,保证止盈仅在盈利情况下发生
  6. fixed hub 获取 part 下子部件失败
2024-05-13 23:56
3859 fasiondog 1578914213 fasiondog
  1. 安装包HikyuuTDX不采用gui模式,win11下GUI模式会造成直接timeout
  2. 策略部件 python 导出时,支持 python 的动态属性,在 hub 中支持
  3. fixed _Selector 缺失赋值构造函数,导致 clone 失败
最后提交信息为: 添加pybind动态属性
2024-05-08 15:50
3859 fasiondog 1578914213 fasiondog

主要修复

  1. fixed 接收spot时,分钟级别的成交量为股数
  2. fixed SG_Cycle 其 alternate 属性须为 false,影响 PF 示例

其他修复

  1. fixed strategy 加载权息失败
  2. StrategyContext 在设定 ktypes 时进行从小到大的排序,以便后续能够按顺序调用 onBar
  3. fixed setKRecordList 使用 move(ks) 时错误
2024-05-06 12:34
3859 fasiondog 1578914213 fasiondog
  1. 缺陷修复

    • fixed ETF 权息缺少扩缩股
    • fixed Portfolio 在非延迟买入、延迟卖出的场景下对账错误
    • fixed matplotlib performance 绘制时,当前收益率显示显示错误
    • fixed requirements.txt 增加tdqm, 缺失可能导致 windows HikyuuTdx 无法直接命令启动
  2. 其他改进

    • Stock 添加获取所属板块列表方法 get_belong_to_block_list
    • 改进 sys_performance,在query日期不在stock的有效日期范围内时,抛出异常
    • matplotlib sysplot 增加 only_draw_close,避免数据量较大时, matploblib 绘制 K 线过慢
    • 改进matplot绘制图形时,x轴坐标显示
    • pf 系统名称加上股票名称
    • 处理nng升级后的编译告警
2024-04-25 23:32
3859 fasiondog 1578914213 fasiondog
  1. 增强 FINANCE,增加 only_year_report 和 dynamic 参数,以便进行市盈率等计算
  2. Indicaotr.plot 绘制时,将 x 轴设置为日期
  3. 增加北交所 92 号段
  4. 增加 BlockIndex 表,支持 Block 获取对应指数
  5. fixed 板块信息导入时,如果网络不好,未获取到当前板块信息时,会把之前的板块信息删除
  6. fixed interactive 中 blockbj 为空
2024-04-19 23:53
3859 fasiondog 1578914213 fasiondog
  1. 新增特性

    • 历史财务信息入库,并增加指标 FINANCE 获取相应历史财务数据
    • 新增 RESULT 指标,以便对存在多个结果集的指标可以通过指标公式的方式获取结果
    • Stock 开放部分属性可在运行时修改,增加 set_krecord_list 方法,可以希望使用其他数据源时生成临时的 Stock 并获取 K 线数据
  2. 缺陷修复

    • fixed 获取节假日信息时出现错误
    • fixed hdf5 在只有日线数据时,运行在 jupyter 中,初始化会出现卡死
    • fixed 新增的北交所股票类型未修改全,导入数据后又变成了 A 股类型
2024-04-07 16:30
3859 fasiondog 1578914213 fasiondog
  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 的同名指定
2024-04-03 11:51
3859 fasiondog 1578914213 fasiondog
  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 数据错误
2024-02-29 23:43
3859 fasiondog 1578914213 fasiondog
  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 等函数参数不生效
2024-02-01 19:29
3859 fasiondog 1578914213 fasiondog
  1. fixed windows 下第三方依赖 hikyuu 的 C++ 代码中无法使用 KData
  2. 调整 matplotlib font manager 日志级别
最后提交信息为: update to 1.3.4
2024-01-31 18:56
3859 fasiondog 1578914213 fasiondog
  1. 配合 hub (策略组件仓库) 使用 C++ 部件更新,参见 <https://gitee.com/fasiondog/hikyuu_hub>_
  2. 尝试获取用户目录下的 hosts.py,方便修改相关 pytdx 服务器设置
  3. 调整log级别宏定义避免windows下冲突
  4. 清理优化 cppcheck 告警提示信息
2024-01-06 16:46
3859 fasiondog 1578914213 fasiondog
  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 导入告警
最后提交信息为: 更新版本信息
2023-12-06 02:10
3859 fasiondog 1578914213 fasiondog
  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错误
最后提交信息为: update version 1.3.1
2023-11-05 21:23
3859 fasiondog 1578914213 fasiondog
  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 下编译失败的问题
最后提交信息为: update release.rst
2023-10-09 01:57
3859 fasiondog 1578914213 fasiondog
  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 转字符串函数
最后提交信息为: update release.rst
2023-08-16 07:52
3859 fasiondog 1578914213 fasiondog
  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. 优化编译工程
最后提交信息为: update release
2022-11-21 01:02
3859 fasiondog 1578914213 fasiondog

fixed MySQL引擎只能导入数据,但实际无法使用

最后提交信息为: update release for 1.2.7
C++
1
https://gitee.com/fasiondog/hikyuu.git
git@gitee.com:fasiondog/hikyuu.git
fasiondog
hikyuu
hikyuu

搜索帮助

Cb406eda 1850385 E526c682 1850385