rikoukai 发表于 2020-11-16 16:11

用python抄抄股-01开篇

本帖最后由 rikoukai 于 2020-11-16 20:41 编辑

       大家好,我是贵站刚注册的新用户{:1_918:},想和大伙分享一下用ptyhon股票量化分析的方法(其实想蹭点积分),如果有不足之处还请大家多多指正!共同学习,共同进步。 准备先从以下几点分享一下自己的经验:

[*]数据的获取
[*]数据的清洗
[*]分析指标的计算
[*]数据的存储
[*]量化分析



我对股市的个人看法是,盈利靠运气,亏钱靠实力,所以在这里只谈python相关的技术和方法,不谈论各股票。
按照惯例,首先要特别声明一下:股市有风险,投资需谨慎。


首先要量化分析,就要有数据作为基础,现在能用的免费的数据源不多(tushare、baostock、akshare......)。
免费的我个人推荐的是通达信本地数据,怎么用?如下:
1.选择【盘后数据下载】

2.选择时间区间,添加股票品种(可以选择添加沪深所有股票)


3.点击下载,等待提示完成。
下载完成的数据存放在通达信的安装目标下面。
D:\Program Files (x86)\new_tdx\vipdoc\sh\lday      ->      对应的是上证股票数据
D:\Program Files (x86)\new_tdx\vipdoc\sz\lday      ->      对应的是深证股票数据

4.用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
                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文件中(读取速度比较快,方便计算)

rikoukai 发表于 2020-11-16 19:56

agi学习者 发表于 2020-11-16 19:30
学习了,望大神继续更新~请问有没有能自动交易的?

国家不允许“私人程序化交易”,正规的接口没有,但可以通过方法实现。

agi学习者 发表于 2020-11-16 20:03

rikoukai 发表于 2020-11-16 19:56
国家不允许“私人程序化交易”,正规的接口没有,但可以通过方法实现。

好的,明白了,谢谢楼主,不知可否开贴指导如何用方法实现程序化交易~如果不方便,则不必在意,如果方便的话,那就真的太感谢您了~

jhjhsxs 发表于 2020-11-16 17:45

通达信导出的是什么格式的文件?

我爱破解5 发表于 2020-11-16 18:01

收藏了 孩子正在学python

zt185 发表于 2020-11-16 18:06

蛮不错进来学习一下!

agi学习者 发表于 2020-11-16 19:30

学习了,望大神继续更新~请问有没有能自动交易的?

rikoukai 发表于 2020-11-16 19:57

jhjhsxs 发表于 2020-11-16 17:45
通达信导出的是什么格式的文件?

.day的二进制文件

xingzhui 发表于 2020-11-17 08:45

科学 炒股~

cctvzhan 发表于 2020-11-17 09:56

谢谢大佬
页: [1] 2
查看完整版本: 用python抄抄股-01开篇