通过 BAOSTOCK 下载数据开始神经网络算法学习 一

不得不说,这种票的数据是最典型的神经网络计算素材,从网上下了个例程,踩了无数坑,终于可以下载数据了。

内容还是基于前人的:github 如何用深度强化学习自动炒股.

环境:WIN10 , VS2019 :这个是新手开始的最佳环境,做的比pycharm好太多了。

踩坑笔记

1. 用CMD命令安装各种库,不足,不能直接复制命令,要一个个打字,最多打个开头用TAB补全名子。
2. 转用VS CODE开发 ,优点是shell 比CMD好用,可以复制命令: pip install XXX 来安装各种库了,特别三方资源的长路径。
3. 后来发现了pycharm, 要序列号,得破解,好处是可以直接将requrimet.txt 直接撸到文档目录了。pycharm环境配置比较麻烦,各个三个库之间依赖较重,
4. 运行下载baostock数据,发现总卡在600084这个ST股上,感觉可能与第三方库有关,搞不了。

  最后红烧吧,上vs2019 ,微软件程序员给你做了。

  最终选择了win10 下用VISUAL STUDIO 2019,直接在微软上下载就可以,python3.7.

直接在工程上左键,根据需求txt文件安装环境,一键安装所有的三方引用包,省力又省心。相比于作者在2016年祖传的GITHUB的代码,作了以下修订:

1. 原来引用的库个别较老,适用性不强,修改了requirement.txt

2.修改了部分代码忽略现在的一些警告。

全部带环境带数据的内容比较大,需要的我上传百度云。

这里直接分享全部python程序:https://download.csdn.net/download/fcgmqty/18451776icon-default.png?t=N176https://download.csdn.net/download/fcgmqty/18451776   2021-5-7 刚上传 新鲜着呢

生成根据训练库得到的结果:按模拟训练的机器操作600036赚最高了400多。

在想运行哪个*.py ,直接右键,运行xxx就可以  , BAOSTOCK关键代码:


OUTPUT = './stockdata'


def mkdir(directory):
    if not os.path.exists(directory):
        os.makedirs(directory)


class Downloader(object):
    def __init__(self,
                 output_dir,
                 date_start='1990-01-01',
                 date_end='2020-03-23'):
        self._bs = bs
        bs.login()
        self.date_start = date_start
        # self.date_end = datetime.datetime.now().strftime("%Y-%m-%d")
        self.date_end = date_end
        self.output_dir = output_dir
        self.fields = "date,code,open,high,low,close,volume,amount," \
                      "adjustflag,turn,tradestatus,pctChg,peTTM," \
                      "pbMRQ,psTTM,pcfNcfTTM,isST"

    def exit(self):
        bs.logout()

    def get_codes_by_date(self, date):
        print(date)
        stock_rs = bs.query_all_stock(date)
        stock_df = stock_rs.get_data()
        print(stock_df)
        return stock_df

    def run(self):
        stock_df = self.get_codes_by_date(self.date_end)
        for index, row in stock_df.iterrows():
            try:
                print(f'processing {row["code"]} {row["code_name"]}')
                df_code = bs.query_history_k_data_plus(row["code"], self.fields,
                                                   start_date=self.date_start,
                                                   end_date=self.date_end).get_data()
                df_code.to_csv(f'{self.output_dir}/{row["code"]}.{row["code_name"]}.csv', index=False)
            except:
                print(f'processing {row["code"]} {row["code_name"]}'+'出错')

        self.exit()


if __name__ == '__main__':
    # 获取全部股票的日K线数据
    mkdir('./stockdata/train')
    downloader = Downloader('./stockdata/train', date_start='1990-01-01', date_end='2019-11-29')
    downloader.run()

    mkdir('./stockdata/test')
    downloader = Downloader('./stockdata/test', date_start='2019-12-01', date_end='2019-12-31')
    downloader.run()
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山川生色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值