量化选股策略搭建(二)(数据更新)

接上一篇文章,上一篇文章数据下载,这里我们讲如何进行数据更新操作.
数据更新思想较为简单,只需要获取更新的数据,并将其写入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. 量化选股策略搭建(四)(短期策略搭建)

    量化选股策略搭建(四)(短期策略搭建) 首先我们需要把选股这个问题转化为一个机器学习问题.那么如何转化成机器学习问题呢?机器学习也分两类问题:1.回归问题,2.分类问题.常规的一些方法是预测股价增长来 ...

  2. 量化选股策略搭建(一)(股票数据获取)

    量化选股策略搭建(一)(股票数据获取) 接触股市一年多,能力有限并未赚钱,目前个人时间渐渐宽裕起来,准备开发一些量化策略,包括股价预测.股票选取.股票操作等.创立这个公众号的目的是为了记载一些个人在量 ...

  3. 量化选股策略搭建(六)(中期策略搭建)

    所用到的数据: 1.上市公司信息数据 可用tushare的 stock_basic接口获取 2.股票每日信息(开.收.最高.最低价,换手率,成交量等) 可用tushare的pro_bar接口获取 3. ...

  4. 量化选股策略搭建(三)(回测系统)

    前两篇文章讲了数据的下载及更新,今天这篇文章讲回测系统的搭建. 回测系统 首先, 个人理解的回测系统就是输入每日可买入的股票(这些股票是经过模型筛选得到的),然后回测系统根据一些条件买入卖出等操作. ...

  5. 量化选股策略到是量子好还基面子

    转 量化选股策略--到底是价量因子好还是基本面因子好? 在今年A股的漫漫熊途中,量化对冲策略提供了一缕光亮. 量化对冲靠跑赢指数赚钱,收益与大盘涨跌无关.无论牛熊,只要股票组合比大盘跑得好,量化对冲策 ...

  6. 用python完成选股策略_python量化选股策略_量化股市

    金字塔决策交易系统 等安装结束后自己找缺少的对应的软件安装.2.软件本体开始安装3.阅读勾选软件安装协议4.选择软件安装目录5.准备开始安装6.等待以后就可以看到金字塔决策交易系统安装完成!登陆软件后 ...

  7. python量化选股策略 源码及论文_常见的十大量化投资策略(附源码)

    量化投资策略是利用量化的方法,进行金融市场的分析.判断和交易的策略.算法的总称.著名的量化投资策略有以下10种(注:策略源码模板不能直接用于实盘交易,仅供探讨交流) 01.海龟交易策略 海龟交易策略是 ...

  8. python量化选股策略_【机器学习】第六课:基于SVM的量化选股策略

    导语 接触过机器学习或数据挖掘算法的人都应该知道支持向量机(SVM),支持向量机一经提出就得到了广泛应用.本文主要探讨该算法在金融领域量化投资多因子策略上的应用.在这篇文章中,先是介绍了SVM的基本原 ...

  9. python量化选股策略 源码_常见的十大量化投资策略(附源码)

    量化投资策略是利用量化的方法,进行金融市场的分析.判断和交易的策略.算法的总称.著名的量化投资策略有以下10种(注:策略源码模板不能直接用于实盘交易,仅供探讨交流) 01.海龟交易策略 海龟交易策略是 ...

最新文章

  1. 宏基因组合种树第292期—侧柏、樟子松,为祖国绿化做贡献
  2. Kmeans++、Mini-Batch Kmeans、Bisecting Kmeans、K中心点(K-Medoids)算法、K众数聚类、核K均值聚类
  3. hibernate要点
  4. SRIO学习(六)——Direct I/O 操作(一)
  5. 帝国cms内部会员组的使用方法以及应用场景
  6. Zabbix 4.2 发布:支持Prometheus数据收集,可扩展性大大提升
  7. saltui试用遇到的问题
  8. nginx+tomcat集群负载均衡中的多虚拟主机配置
  9. 关于grep的引号使用问题
  10. HDU 5980 位运算 进制转换函数 DEV C++调试失败的原因
  11. 钢结构设计软件:IDEA StatiCa 21.1.4.X Crack-new
  12. ACPI文件处理与屏蔽独显、亮度调节
  13. 揭开MySQL数据库的神秘面纱!
  14. 云服务器怎么连,云主机连接操作步骤是怎样的?
  15. 为什么你还没有买新能源汽车?
  16. Ubuntu软件安装卸载
  17. vmware15.5.5版本虚拟机(VMware Workstation 15 Pro)BUG(CentOS7.3下):切换大小写失效的解决方案
  18. 面试心得与总结---BAT、网易、蘑菇街
  19. Python培训:python中写文件的操作方法
  20. 儿童智能手表APP开发具备哪些功能

热门文章

  1. html表格excel保存,保存HTML表格到Excel
  2. 分享6款好用却小众的软件
  3. 教你如何解决播放量上不去的问题,快速提高抖音播放量的技巧:国仁楠哥
  4. c# json 汉字乱码_解决Json传输中文乱码问题
  5. 嵌入式linux防复制,嵌入式linux /dev 下的文件无法复制
  6. 如何在 JavaScript 中获取当前日期
  7. cocos creator 保持屏幕常亮 屏幕不休眠
  8. 网络与安全1【什么ARP***,IP地址欺骗都是浮云】买台300元的交换机搞定
  9. 视频直播取代微博不是天方夜谭
  10. Kindeditor(版本号4.0.5)编辑器添加上传flv视频功能