不得不说,这种票的数据是最典型的神经网络计算素材,从网上下了个例程,踩了无数坑,终于可以下载数据了。
内容还是基于前人的: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/18451776https://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()