链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

benitoro/stockholm:股票数据(沪深)爬虫与选股策略测试框架

benitoro/stockholm是一个专注于沪深股票数据的项目,它既是爬虫也是选股策略测试框架。数据基于雅虎YQL和新浪财经,可抓取股票行情数据并支持多种技术指标,还能进行选股策略测试并计算与沪深300指数比较的结果,能将数据保存为JSON或CSV文件,但存在如行情数据更新不...

访问官网 →

【Github】项目名:benitoro/stockholm:股票数据(沪深)爬虫与选股策略测试框架

一、项目简介

benitoro/stockholm是一个针对沪深股票数据的项目。它可以作为爬虫获取股票行情数据,同时也是一个选股策略测试框架。数据基于雅虎YQL和新浪财经,能根据选定日期范围抓取沪深两市股票行情数据,如代码、名称、开盘、收盘、最高、最低、成交量等,还支持如KDJ等技术指标。并且能按照指定选股策略和日期进行选股测试,计算与沪深300指数比较的实际结果,可将数据保存为JSON文件或者CSV文件,支持表达式定义选股策略以及多线程处理。

二、项目功能

  1. 数据导出:若想基于沪深股市行情数据工作,它能导出指定时间范围内所有沪深A股行情数据和部分技术指标。例如,当执行’python main.py’命令时,可以获取从当前日期倒推100天(非100个交易日)的所有沪深股票行情数据,默认以JSON格式保存在当前用户文件夹下’./tmp/stockholm_export/stockholm_export.json’,若想导出为CSV文件,可使用’python main.py–output = csv’命令。

  2. 选股策略测试:对于对技术分析感兴趣的用户,可自定义策略在沪深A股范围内选股,并回测收益情况。例如,选股策略范例文件中的’method1’,可以通过’python main.py–reload = N–portfolio = Y’命令,以当前系统日期为目标日期进行倒推60天的选股策略测试,不重新抓取行情数据并执行测试命令,测试结果会按每天一个文件的方式保存在’./tmp/stockholm_export/’,文件名格式为’result_yyyy – MM – dd.json’。通过修改测试文件中的选股策略公式,就能测试指定时间范围内的选股效果。

三、项目限制

  1. 行情数据方面:目前行情数据更新时间不太稳定(一般在中国时间午夜左右),且支持的技术指标还不多,像MACD和BOLL后续才会增加。

  2. 回测方面:在回测中,如果股票在选定时间内发生过除权,收益计算会存在问题。

  3. 导出格式方面:目前仅支持CSV和JSON文本格式,MongoDB和MySQL还在考虑后续加入。

  4. 环境方面:虽然在OSX和CentOS已测试,但Windows尚未测试,在Windows上输出路径可能存在问题。

四、项目总结

benitoro/stockholm为处理沪深股票数据提供了较为方便的工具,无论是数据获取还是选股策略测试都有一定的功能,但也存在一些诸如数据更新不稳定、部分技术指标待增加等局限性。希望大家能积极留言,一起讨论这个项目的改进或者分享使用经验等。

项目地址

GitHub链接直达