-
Notifications
You must be signed in to change notification settings - Fork 724
block 配置节
block配置节是Hikyuu量化分析系统中用于管理股票板块信息的核心配置部分。该配置系统支持多种数据源类型,包括指数板块、行业板块、地域板块、概念板块和自定义板块。通过type参数指定数据源类型,dir参数指定板块文件目录路径,系统能够灵活地加载和管理不同类型的板块数据。这些板块数据在量化分析、策略回测和投资组合管理中发挥着重要作用,为用户提供多维度的市场分析视角。
type参数用于指定板块数据源的类型,支持qianlong(千龙)数据源格式。该参数决定了系统使用哪种数据驱动来解析和加载板块信息。在Hikyuu系统中,qianlong是默认支持的板块数据源类型,专门用于处理以特定INI文件格式存储的板块数据。
dir参数指定板块文件的目录路径,系统将在此目录下查找和加载所有板块配置文件。该路径应指向包含zsbk.ini、hybk.ini、gnbk.ini、dybk.ini和self.ini等板块文件的目录。正确的目录路径配置是确保系统能够成功加载板块数据的前提条件。
节来源
- QLBlockInfoDriver.cpp
- QLBlockInfoDriver.h
指数板块文件zsbk.ini存储了各种股票指数的成分股信息。文件结构以方括号[]包围的指数名称作为节名,每行包含一个成分股代码。例如,[上证指数]节下列出了所有上证指数成分股。第一个数字表示市场(0为上海,1为深圳),后跟股票代码。
[上证指数]
0,600000
0,600004
...行业板块文件hybk.ini按照行业分类组织股票。每个行业作为一个独立的节,包含该行业内所有上市公司的股票代码。行业板块为行业轮动分析和行业比较研究提供了基础数据支持。
[光学光电子]
1,873001
1,300232
...地域板块文件dybk.ini根据上市公司所在地进行分类。这种分类方式有助于分析区域经济发展对股票市场的影响,以及地域性投资机会的挖掘。
[广东板块]
1,873001
1,300269
...概念板块文件gnbk.ini包含了各种市场热点概念的股票集合,如"MicroLED"、"元宇宙概念"等。这些板块反映了市场资金的短期关注方向,对于捕捉市场热点具有重要价值。
[MicroLED]
1,300269
1,300323
...自定义板块文件self.ini允许用户创建个性化的股票组合。用户可以根据自己的投资策略或研究需求,将特定股票归类到自定义板块中,实现灵活的投资组合管理。
[1]
1, 000728 ;国元证券
1, 002685 ;华东重机
...节来源
- zsbk.ini
- hybk.ini
- gnbk.ini
- dybk.ini
- self.ini
Hikyuu系统提供了自动化的板块数据更新机制。通过执行download_block.py脚本,系统可以从东方财富网等数据源自动下载最新的板块成分股信息。该脚本会定期检查并更新行业板块、概念板块、地域板块和指数板块的数据。
flowchart TD
A[启动数据更新] --> B{检查文件更新时间}
B --> |超过更新周期| C[从网络数据源获取最新数据]
B --> |未到更新周期| D[使用本地缓存数据]
C --> E[解析网络数据]
E --> F[保存为本地TXT文件]
F --> G[转换为INI格式]
G --> H[更新数据库]
H --> I[完成数据更新]
图来源
- download_block.py
- em_block_to_sqlite.py
对于需要精确控制更新时机的用户,可以采用手动更新流程。首先运行download_block.py脚本下载最新数据,然后检查生成的TXT文件内容,确认无误后将其转换为INI格式并放置到配置目录中。最后重启Hikyuu系统或重新加载配置以应用更新。
建议的更新周期如下:
- 指数板块:每月更新一次
- 行业板块:每季度更新一次
- 概念板块:每周更新一次
- 地域板块:每半年更新一次
- 自定义板块:根据用户需求随时更新
- 在配置目录中创建或编辑self.ini文件
- 使用方括号[]定义新的板块名称
- 在每个板块下添加股票代码,格式为"市场标识,股票代码"
- 可在代码后添加分号;和注释说明
- 保存文件并重新加载系统配置
- 板块名称必须用方括号[]包围
- 每行一个股票代码
- 市场标识:0表示上海市场,1表示深圳市场
- 股票代码为6位数字
- 可选的注释以分号;开始
- 支持空行和注释行(以;开头)
[我的投资组合]
1, 000728 ;国元证券
0, 600050 ;中国联通
1, 002685 ;华东重机
[重点关注]
0, 600519 ;浙江龙盛
1, 300750 ;宁德时代节来源
- self.ini
- QLBlockInfoDriver.cpp
建议采用清晰的目录结构来管理不同类型的板块文件:
block/
├── zsbk.ini # 指数板块
├── hybk.ini # 行业板块
├── gnbk.ini # 概念板块
├── dybk.ini # 地域板块
└── self.ini # 自定义板块
建立统一的命名规范有助于提高管理效率:
- 指数板块:使用标准指数名称
- 行业板块:采用证监会行业分类标准
- 概念板块:使用市场通用概念名称
- 地域板块:使用行政区划名称
- 自定义板块:使用有意义的描述性名称
对板块配置文件实施版本控制,记录每次变更的原因和内容。这有助于追踪数据变化历史,在出现问题时能够快速回滚到之前的稳定版本。
在应用新的板块配置前,进行必要的数据验证:
- 检查股票代码的合法性
- 验证市场标识的正确性
- 确认没有重复的股票代码
- 检查板块名称的唯一性
当系统无法找到板块文件时,会抛出"Missing 'dir' param!"错误。解决方法:
- 检查dir参数配置的路径是否正确
- 确认路径是否存在且可访问
- 验证路径是否包含必要的板块文件
如果type参数配置的类型与实际数据源不匹配,会导致数据解析失败。确保type参数设置为"qianlong"以正确解析INI格式的板块文件。
常见的文件格式错误包括:
- 缺少方括号的节名
- 代码行格式不正确(缺少逗号分隔)
- 使用了非法字符
- 文件编码问题
定期检查以下数据一致性问题:
- 相同股票是否被错误地分配到互斥的板块
- 板块内是否有已退市或停牌的股票
- 自定义板块与系统板块是否存在冲突
节来源
- QLBlockInfoDriver.cpp
- BlockInfoDriver.h
block配置节是Hikyuu系统中管理股票板块信息的核心组件,通过type和dir参数的灵活配置,支持多种数据源类型和自定义板块管理。深入理解各种板块文件的结构和映射关系,掌握数据更新策略和自定义板块创建方法,能够有效提升量化分析的效率和准确性。遵循最佳实践并及时排查常见配置错误,可以确保板块数据的准确性和可靠性,为投资决策提供有力支持。