网站必须备案,寻花问柳-专注做一家男人的网站,单页面网站模板怎么做,wordpress分类关键字虽然同花顺之类的金融理财应用的数据足够好了#xff0c;但还是有自己定制的冲动, 数据自然不会不会比前者好很多#xff0c;但是按照自己的想法来定制还是不错的。目标通过免费的数据接口获取数据#xff0c;每日增量更新标的历史交易数据, 然后通过Kibana做可视化及数据分…虽然同花顺之类的金融理财应用的数据足够好了但还是有自己定制的冲动, 数据自然不会不会比前者好很多但是按照自己的想法来定制还是不错的。目标通过免费的数据接口获取数据每日增量更新标的历史交易数据, 然后通过Kibana做可视化及数据分析.其实自己通过echarts之类的可视化框架做可视化也是个不错的选择不过前期成本太大。还有就是pandasmatplotlib已经足以应付大部分需求了可是交互感太弱所以借助一个可视化应用是很有必要的这里选择的是kibana, 它的竞品有Grafana.这个目标应该会一直下去成长离不开与优秀的同伴共同交流如果你需要好的学习环境好的学习资源这里欢迎每一位热爱Python的小伙伴环境配置Python3(推荐Anaconda安装)安装相关依赖pip install -r requirement.txt配置eleasticsearch, kibana环境(推荐使用docker)Elasticsearch, Logstash, Kibana 7.2.0数据源获取数据的方式有很多种收费或者免费作为业余爱好者自然选择免费的这里选择 tushare.pro, 但其实tushare会有一点限制, 如获取数据的频率有一定的限制并且接口也有限制, 需要很多积分。其他的免费的数据获取方式的大家可以自己尝试pytdxfooltraderQUANTAXIS获取数据配置自己的tokenimport tushare as ts
ts.set_token(your_token)
pro ts.pro_api(your_token)关于Token的获取可以参考一下链接https://tushare.pro/document/1?doc_id39尝试手动获取数据通过日期取历史某一天的全部历史
df pro.daily(trade_date20190725)df.head()
ts_code trade_date open high low close pre_close change pct_chg vol amount value
0 000032.SZ 20190725 9.49 9.60 9.47 9.56 9.49 0.07 0.7376 12658.35 12075.625 8906.981000
1 000060.SZ 20190725 4.39 4.40 4.35 4.36 4.39 -0.03 -0.6834 129331.65 56462.292 -38586.330353
2 000078.SZ 20190725 3.37 3.38 3.35 3.38 3.37 0.01 0.2967 76681.00 25795.633 7653.564311
3 000090.SZ 20190725 5.66 5.66 5.56 5.61 5.64 -0.03 -0.5319 105582.72 59215.389 -31496.665409
4 000166.SZ 20190725 4.97 4.98 4.93 4.96 4.97 -0.01 -0.2012 268122.48 132793.120 -26717.975744获取某一只股票的日线行情数据
data ts.pro_bar(ts_code601668.SH, adjqfq, start_date20120101)
data.head()
ts_code trade_date open high low close pre_close change pct_chg vol amount
0 601668.SH 20190726 6.01 6.06 5.98 6.03 6.04 -0.01 -0.17 696833.16 419634.547
1 601668.SH 20190725 6.05 6.07 6.02 6.04 6.04 0.00 0.00 543074.55 327829.380
2 601668.SH 20190724 6.09 6.11 6.02 6.04 6.05 -0.01 -0.17 788228.12 477542.609
3 601668.SH 20190723 5.93 6.07 5.92 6.05 5.94 0.11 1.85 1077243.46 650250.021
4 601668.SH 20190722 6.02 6.03 5.92 5.94 6.00 -0.06 -1.00 811369.73 485732.343数据的获取自然是需要自动化的但是由于接口的限制所以需要考虑以下问题。股票列表判断是否超出接口限制如果是则暂停一段时间关键代码部分def save_data(code, start_date, fp):print(下载股票(%s)日线数据到 %s % (code, fp))try:data ts.pro_bar(ts_codecode, adjqfq, start_datestart_date)# 当超过调用次数限制返回Noneif data is None:time.sleep(10)returnpass_set.add(code)except Exception:time.sleep(10)print(股票: %s 下载失败 % code)returnif len(data) 0:pass_set.add(code)returntry:data.trade_date pd.to_datetime(data.trade_date)data data.sort_values(trade_date)if path.exists(fp):data.to_csv(fp, modea, headerFalse, indexFalse)else:data.to_csv(fp, indexFalse)except Exception:print(股票:%s 保存失败 % code)大家可以参考我GitHub仓库的save_data.py, 通过以下命令就可以自动下载数据了python save_data.py代码里面配置的起始时间是2012-01-01,有需要的课自行更改值得注意的是需要在同级目录配置一个config.json, 内容如下{token: your_token
}配上自己的token配置elasticsearch, kibana这里使用的是docker进行配置。# 拉取镜像
docker pull sebp/elk:720# 启动docker环境
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -v /home/elasticsearch/:/var/lib/elasticsearch -itd sebp/elk:720转存数据将数据上传到elasticsearch里面以便数据分析配置settings.py# 将ip:port改成自己elasticsearch地址如192.168.56.102:9200
config[es_host] [ip:port]运行代码# 上传股票数据
python cmd.py dump# 上传上证指数数据
python cmd.py dump_index可视化配置kibana是需要一定的时间的好在kibana现在是大多数配置都支持导入导出所以大家可以通过我仓库的export.ndjson文件直接导入效果展示由于现在接口受限获取的股票因子有限所以等我的积分更多了我会加入更多的dashboard, 以及visualization.