本帖最后由 rikoukai 于 2020-11-16 20:41 编辑
大家好,我是贵站刚注册的新用户,想和大伙分享一下用ptyhon股票量化分析的方法(其实想蹭点积分),如果有不足之处还请大家多多指正!共同学习,共同进步。 准备先从以下几点分享一下自己的经验:
- 数据的获取
- 数据的清洗
- 分析指标的计算
- 数据的存储
- 量化分析
我对股市的个人看法是,盈利靠运气,亏钱靠实力,所以在这里只谈python相关的技术和方法,不谈论各股票。
按照惯例,首先要特别声明一下:股市有风险,投资需谨慎。
首先要量化分析,就要有数据作为基础,现在能用的免费的数据源不多(tushare、baostock、akshare......)。
免费的我个人推荐的是通达信本地数据,怎么用?如下:
1.选择【盘后数据下载】
1
2.选择时间区间,添加股票品种(可以选择添加沪深所有股票)
3.点击下载,等待提示完成。
下载完成的数据存放在通达信的安装目标下面。
D:\Program Files (x86)\new_tdx\vipdoc\sh\lday -> 对应的是上证股票数据
D:\Program Files (x86)\new_tdx\vipdoc\sz\lday -> 对应的是深证股票数据
4.用python做一下股票代码表
[Python] 纯文本查看 复制代码 import pandas as pd
import os
TDX_PATH = r"D:/Program Files (x86)/new_tdx" # 需要手动指定,通达信安装路径
TDX_SH_PATH = TDX_PATH + "/vipdoc/sh/lday" # 上证通达信本地数据源路径
TDX_SZ_PATH = TDX_PATH + "/vipdoc/sz/lday" # 深证通达信本地数据源路径
FILE_LIST = [] # 存储所有上证和深证通达信本地(.day)文件绝对路径列表
if not os.path.exists(TDX_PATH):
print("通达信安装路径指定错误!")
exit()
else:
add_file_list(TDX_SH_PATH) # 取上证通达信本地数据源绝对路径
add_file_list(TDX_SZ_PATH) # 取深证通达信本地数据源绝对路径
def add_file_list(path):
'''生成要转换文件绝对路径的列表'''
for root, dirs, files in os.walk(path): # 取上证通达信本地数据源绝对路径
for filename in files:
if filename.endswith('.day'):
file_path = os.path.join(root, filename)
file_path = os.path.abspath(file_path)
FILE_LIST.append(file_path)
def get_stock_code():
'''生成股票代码列表'''
TDX_SH_LIST = os.listdir(TDX_SH_PATH) # 上证通达信本地数据源列表
TDX_SZ_LIST = os.listdir(TDX_SZ_PATH) # 深证通达信本地数据源列表
if len(TDX_SH_LIST) > 0 or len(TDX_SZ_LIST) > 0:
stock_code = pd.DataFrame(TDX_SH_LIST + TDX_SZ_LIST,columns=['code'])
stock_code['code'] = stock_code['code'].str[0:8]
stock_code.to_csv(CSV_BASIC_PATH + os.sep + 'stock_code.csv',index=False) # 保存stock_code.csv文件
else:
print("通达信本地数据源为空!")
不好意思,操作失误,文章还没有完成就发出去了,咱们继续整。
获取股票代码,其实通达信在完成下载本地数据后,每个股票都对应的一个文件(如下图),只要取出里面所有的文件名就可以了。
下载完成的数据存放在通达信的安装目标下面。
D:\Program Files (x86)\new_tdx\vipdoc\sh\lday -> 对应的是上证股票数据
D:\Program Files (x86)\new_tdx\vipdoc\sz\lday -> 对应的是深证股票数据
最后生成一个csv的文件,里面就是所有股票代码的列表。
其中文件名开头部分的sh代表上证股票代码,sz代表深证股票代码。
【tips】
看到有留言的朋友说想给孩子学习用,那就加上提示吧。
要想完成上面的功能,要用到一些python的知识,比如:
- os库 可以遍历文件夹下所有的文件,推荐os.walk方法,可以自行百度学习一下
- 字符串的切片
- pandas库 这个库用到的比较多,主要是数据分析用,可以自行百度学习一下(先把series和dataframe整明白)
- 以后数据存储的格式是csv格式,可以了解一下,以后数据量大的时候可以保存到数据库里边,也可以写到一个HDF5文件中(读取速度比较快,方便计算)
|