量化选股策略搭建(二)(数据更新)
量化选股策略搭建(二)(数据更新)
接上一篇文章,上一篇文章数据下载,这里我们讲如何进行数据更新操作.
数据更新思想较为简单,只需要获取更新的数据,并将其写入csv文件末尾即可。部分获取更新数据和追加写入文件的代码如下:
df = pro.daily(ts_code=i,start_date=startdate,end_date=enddate,fields='ts_code, trade_date, open, high, low, close, pre_close, change, pct_chg, vol, amount')
df = df.sort_values('trade_date', ascending=True)if len(df) == 0:continue
if not os.path.exists(path):df.to_csv(path, index=False)
else:f = open(path, 'a+', encoding='utf-8')col = list(df.columns)for j in range(len(df)):write_info = ''for j2 in range(len(col)):write_info = write_info + str(df[col[j2]][j])if j2 != len(col) - 1:write_info = write_info + ','f.write(write_info + '\n')f.close()
完整代码如下:
import tushare as ts
import pandas as pd
import os
import time"""
获取历史数据
"""mytoken = '10a361cde441a9e7aea6e98441a8bea0fbb2c82ac8298899ee22fbfd'
ts.set_token(mytoken)
ts.set_token(mytoken)
save_path = 'F:\stock'
pro = ts.pro_api()def RefreshNoramlData():#获取基础信息数据,包括股票代码、名称、上市日期、退市日期等pool = pro.stock_basic(exchange='',list_status='L',adj='qfq',fields='ts_code,symbol,name,area,industry,fullname,list_date, market,exchange,is_hs')#print(pool.head())# 因为穷没开通创业板和科创板权限,这里只考虑主板和中心板pool = pool[pool['market'].isin(['主板', '中小板'])].reset_index()pool.to_csv(os.path.join(save_path, 'company_info.csv'), index=False, encoding='ANSI')# print('获得上市股票总数:', len(pool)-1)k = 1for i in pool.ts_code:print('正在获取第%d家,股票代码%s.' % (k, i))path = os.path.join(save_path, 'OldData', i + '_NormalData.csv')k += 1df = pro.daily(ts_code=i,start_date=startdate,end_date=enddate,fields='ts_code, trade_date, open, high, low, close, pre_close, change, pct_chg, vol, amount')df = df.sort_values('trade_date', ascending=True)if len(df) == 0:continueif not os.path.exists(path):df.to_csv(path, index=False)else:f = open(path, 'a+', encoding='utf-8')col = list(df.columns)for j in range(len(df)):write_info = ''for j2 in range(len(col)):write_info = write_info + str(df[col[j2]][j])if j2 != len(col) - 1:write_info = write_info + ','f.write(write_info + '\n')f.close()def RefreshIndexData():# 上交所指数信息df = pro.index_basic(market='SSE')df.to_csv(os.path.join(save_path, 'SSE.csv'), index=False, encoding='ANSI')# 深交所指数信息df = pro.index_basic(market='SZSE')df.to_csv(os.path.join(save_path, 'SZSE.csv'), index=False, encoding='ANSI')# 获取指数历史信息# 这里获取几个重要的指数 【上证综指,上证50,上证A指,深证成指,深证300,中小300,创业300,中小板综,创业板综】index = ['000001.SH', '000016.SH', '000002.SH', '399001.SZ', '399007.SZ', '399008.SZ', '399012.SZ', '399101.SZ','399102.SZ']for i in index:path = os.path.join(save_path, 'OldData', i + '_NormalData.csv')df = pro.index_daily(ts_code=i,start_date=startdate,end_date=enddate,fields='ts_code, trade_date, open, high, low, close, pre_close, change, pct_chg, ''vol, amount')df = df.sort_values('trade_date', ascending=True)if len(df) == 0:continueif not os.path.exists(path):df.to_csv(path, index=False)else:f = open(path, 'a+', encoding='utf-8')col = list(df.columns)for j in range(len(df)):write_info = ''for j2 in range(len(col)):write_info = write_info + str(df[col[j2]][j])if j2 != len(col) - 1:write_info = write_info + ','f.write(write_info + '\n')f.close()if __name__ == '__main__':#设置起始日期startdate = '20191227'enddate = '20191228'#主程序RefreshNoramlData()RefreshIndexData()
RefreshNoramlData函数用来更新股票信息
RefreshIndexData用来更新一些指数信息
目前, 量化选股系统的所有代码都在GitHub上:
Github
个人公众号,这里放一个个人公众号,后期策略成熟将会在公众号中分享个股.
个人知乎: https://www.zhihu.com/people/e-zhe-shi-wo/activities
量化选股策略搭建(二)(数据更新)相关推荐
- 量化选股策略搭建(四)(短期策略搭建)
量化选股策略搭建(四)(短期策略搭建) 首先我们需要把选股这个问题转化为一个机器学习问题.那么如何转化成机器学习问题呢?机器学习也分两类问题:1.回归问题,2.分类问题.常规的一些方法是预测股价增长来 ...
- 量化选股策略搭建(一)(股票数据获取)
量化选股策略搭建(一)(股票数据获取) 接触股市一年多,能力有限并未赚钱,目前个人时间渐渐宽裕起来,准备开发一些量化策略,包括股价预测.股票选取.股票操作等.创立这个公众号的目的是为了记载一些个人在量 ...
- 量化选股策略搭建(六)(中期策略搭建)
所用到的数据: 1.上市公司信息数据 可用tushare的 stock_basic接口获取 2.股票每日信息(开.收.最高.最低价,换手率,成交量等) 可用tushare的pro_bar接口获取 3. ...
- 量化选股策略搭建(三)(回测系统)
前两篇文章讲了数据的下载及更新,今天这篇文章讲回测系统的搭建. 回测系统 首先, 个人理解的回测系统就是输入每日可买入的股票(这些股票是经过模型筛选得到的),然后回测系统根据一些条件买入卖出等操作. ...
- 量化选股策略到是量子好还基面子
转 量化选股策略--到底是价量因子好还是基本面因子好? 在今年A股的漫漫熊途中,量化对冲策略提供了一缕光亮. 量化对冲靠跑赢指数赚钱,收益与大盘涨跌无关.无论牛熊,只要股票组合比大盘跑得好,量化对冲策 ...
- 用python完成选股策略_python量化选股策略_量化股市
金字塔决策交易系统 等安装结束后自己找缺少的对应的软件安装.2.软件本体开始安装3.阅读勾选软件安装协议4.选择软件安装目录5.准备开始安装6.等待以后就可以看到金字塔决策交易系统安装完成!登陆软件后 ...
- python量化选股策略 源码及论文_常见的十大量化投资策略(附源码)
量化投资策略是利用量化的方法,进行金融市场的分析.判断和交易的策略.算法的总称.著名的量化投资策略有以下10种(注:策略源码模板不能直接用于实盘交易,仅供探讨交流) 01.海龟交易策略 海龟交易策略是 ...
- python量化选股策略_【机器学习】第六课:基于SVM的量化选股策略
导语 接触过机器学习或数据挖掘算法的人都应该知道支持向量机(SVM),支持向量机一经提出就得到了广泛应用.本文主要探讨该算法在金融领域量化投资多因子策略上的应用.在这篇文章中,先是介绍了SVM的基本原 ...
- python量化选股策略 源码_常见的十大量化投资策略(附源码)
量化投资策略是利用量化的方法,进行金融市场的分析.判断和交易的策略.算法的总称.著名的量化投资策略有以下10种(注:策略源码模板不能直接用于实盘交易,仅供探讨交流) 01.海龟交易策略 海龟交易策略是 ...
最新文章
- 宏基因组合种树第292期—侧柏、樟子松,为祖国绿化做贡献
- Kmeans++、Mini-Batch Kmeans、Bisecting Kmeans、K中心点(K-Medoids)算法、K众数聚类、核K均值聚类
- hibernate要点
- SRIO学习(六)——Direct I/O 操作(一)
- 帝国cms内部会员组的使用方法以及应用场景
- Zabbix 4.2 发布:支持Prometheus数据收集,可扩展性大大提升
- saltui试用遇到的问题
- nginx+tomcat集群负载均衡中的多虚拟主机配置
- 关于grep的引号使用问题
- HDU 5980 位运算 进制转换函数 DEV C++调试失败的原因
- 钢结构设计软件:IDEA StatiCa 21.1.4.X Crack-new
- ACPI文件处理与屏蔽独显、亮度调节
- 揭开MySQL数据库的神秘面纱!
- 云服务器怎么连,云主机连接操作步骤是怎样的?
- 为什么你还没有买新能源汽车?
- Ubuntu软件安装卸载
- vmware15.5.5版本虚拟机(VMware Workstation 15 Pro)BUG(CentOS7.3下):切换大小写失效的解决方案
- 面试心得与总结---BAT、网易、蘑菇街
- Python培训:python中写文件的操作方法
- 儿童智能手表APP开发具备哪些功能
热门文章
- html表格excel保存,保存HTML表格到Excel
- 分享6款好用却小众的软件
- 教你如何解决播放量上不去的问题,快速提高抖音播放量的技巧:国仁楠哥
- c# json 汉字乱码_解决Json传输中文乱码问题
- 嵌入式linux防复制,嵌入式linux /dev 下的文件无法复制
- 如何在 JavaScript 中获取当前日期
- cocos creator 保持屏幕常亮 屏幕不休眠
- 网络与安全1【什么ARP***,IP地址欺骗都是浮云】买台300元的交换机搞定
- 视频直播取代微博不是天方夜谭
- Kindeditor(版本号4.0.5)编辑器添加上传flv视频功能