资讯专栏INFORMATION COLUMN

量化交易之股票数据的获取——同花顺软件

Chaz / 3758人阅读

摘要:将另存为格式时,文件将工作表中的单元格所显示的文本和数值以逗号分离进行保存。方法此处使用模块的函数读取文件,函数以字典形式返回,字典的键则是这个单元格的标题即列头,每一个单元格内容放在字典的值内。

前言

数据是进行量化交易的基础和关键,目前国内做量化产品的金融机构大部分是从券商获取高频实时行情数据的,另外很多金融网站也提供了数据接口,可以调用接口方式获取,也可以用爬虫的方式获取。文本讲述一种更经济便捷的方式来获取数据,即通过同花顺交易软件来导出股票数据,并且将数据转换为DataFrame 表格型的数据结构,以csv的格式存储,便于后续进行量化交易分析。


同花顺交易数据导出

1.打开同花顺软件,点击“分析”栏,选择“历史成交”,此时会出现股票的日线交易数据。

2.点击“右键”,选择“数据导出”—>“导出所有数据”,选择导出的类型为Excel,执行下一步直到完成,即得到了2004年至今的该股交易数据。

3.打开EXCEL文档已经可以查看到导出的数据了,不过在量化领域中最常用使用的是CSV格式,这里将EXCEL另存为CSV格式。CSV文件是一种文本文件,用记事本就能打开。文件的数据列以半角逗号分隔,每一行数据都以回车符结束。它可以非常容易地被导入各种PC表格及数据库中。将EXCEL另存为CSV格式时,CSV文件将EXCEL工作表中的单元格所显示的文本和数值以逗号分离进行保存。



注:如果单元格中包含逗号,则该单元格中的内容以双引号引起。


转换为DataFrame格式

在Python中,pandas是数据处理方面功能最为强大的扩展模块了,包含了高级的数据结构Series和DataFrame,使得在Python中处理数据变得非常方便、快速和简单,后续我们在应用中会深有体会。

方法1:通过pandas模块自带的read_csv函数可直接得到DataFrame格式数据,注意编码格式为“GB2132”,否则控制台会将中文解析为乱码。

 df_csvload = pd.read_csv("C:programPYCSV_RWdata_ForNewFileDataChange.csv",parse_dates=True,index_col=0,encoding="gb2312")

方法2:此处使用CSV模块的DictReader函数读取CSV文件,DictReader函数以字典形式返回,字典的键则是这个单元格的标题(即列头),每一个单元格内容放在字典的值内。DataFrame的创建方式有numpy二维数组、列表、Series序列以及字典方式等,此处DictReader函数返回的字典形式数据可直接创建,字典中的keys就是DataFrame里面的columns,但是没有index的值,默认是从零开始计数。

f=codecs.open("C:programPYCSV_RWdata_ForNewFileDataChange.csv","rb","gb2312")#GB2312编码
reader = csv.DictReader(f)
rows = [row for row in reader]
df = pd.DataFrame(rows)
f.close()

该方法需要增加额外的处理,将“时间”列作为index索引,同时将日期信息去除星期几

df.rename(columns={ "时间":"time" },inplace=True)#替换为英文columns         

for index,colstr in enumerate(df["time"]):
    colstr = colstr.split(",",1)#去除日期中的星期几
    df.loc[index, "time"] = colstr[0]
df.index = df["time"].tolist()#time作为index
del df["time"]#数据中删除time列


数据保存

数据处理后使用pandas模块自带的to_csv可将数据直接存储为CSV。

df.to_csv("C:programPYCSV_RWdata_ForNewFileDataCheck.csv",columns=df.columns,index=True)

更多python量化交易内容互动请加微信公众号:PythonQT-YuanXiao
欢迎订阅量化交易课程:链接地址

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41160.html

相关文章

  • 量化易之股票数据获取——Pandas API接口

    摘要:前言库提供了专门从财经网站获取金融数据的接口,可作为量化交易股票数据获取的另一种途径,该接口在库基础上实现了以客户端身份访问网站的股票数据。第三四个参数为股票数据的起始时间断。遍历每个交易日后将符合跳空缺口条件的交易日增加缺口数值。 前言 Pandas库提供了专门从财经网站获取金融数据的API接口,可作为量化交易股票数据获取的另一种途径,该接口在urllib3库基础上实现了以客户端身份...

    yuanxin 评论0 收藏0
  • 基于Java同花股票数据爬虫

    摘要:问题来源今天与同学聊天,得知他有个任务是抓取同花顺网站上的股票数据,有点兴趣,便做了相关实验。由于时间关系,以上代码只是把数据所在的网页抓取到本地,没有进行解析。 问题来源 今天与同学聊天,得知他有个任务是抓取同花顺网站上的股票数据,有点兴趣,便做了相关实验。 介绍 网站地址:http://q.10jqka.com.cn/ 网站界面:showImg(https://segmentf...

    EasonTyler 评论0 收藏0
  • AI Challenger开赛,千万量级数据开放,AI高手将上演巅峰对决

    摘要:月日,各项竞赛的排名将决定最终的成绩排名。选手通过训练模型,对虚拟股票走势进行预测。冠军将获得万元人民币的奖励。 showImg(https://segmentfault.com/img/bVUzA7?w=477&h=317); 2017年9月4日,AI challenger全球AI挑战赛正式开赛,来自世界各地的AI高手,将展开为期三个多月的比拼,获胜团队将分享总额超过200万人民币的...

    Ali_ 评论0 收藏0
  • Python量化易基础讲堂——管理概率==理性

    摘要:那么我们改变概率这个因子,将它放大到,我们邀请个人参与局看下效果看来结果还不错,只要增加盈利的概率,就可以在市场中获得收益,这就是量化交易的魅力管理概率理性交易。 在《Python实战-构建基于股票的量化交易系统》小册子中,我们以股票为交易标的讲解量化交易的学习,主要原因是股票的风险和收益介于期货和基金之间。期货一方面加了杠杆,另一方面走势变化非常迅速,稍有不慎有可能血本无归,这不太适...

    AWang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<