构建自己的交易数据库
准备工作
1. 开发环境:
(1) Linux (自己选择熟悉的服务器作为存储服务器)
(2) Windows (编写代码,还是推荐使用linux,windows坑太多了)
(3) 用到的软件有:SQLyog(用于可视化操作数据库的软件)、pycharm(用于编写代码的开发工具)
(4) python版本3.7、存储数据库使用pg或者mysql都可以
(5) 使用的库tushare,它的官网:tushare.pro/ 。这个文档 tushare.pro/document/2 写的很详细。注册账号的话可以使用 tushare.pro/register?re… 这个邀请链接。
2. 编写代码:
(1) 注册完后,进入个人主页(鼠标移至主页右上角头像会出现),
tushare_token = "你的tushare的token"
from MyQuantification.settings import DATABASES
import tushare as ts
import pandas as pd
from sqlalchemy import create_engine
user = "数据库用户名"
password = "数据库密码"
database_name = "数据库名称"
host = "数据库ip地址"
port = "数据库的端口号"
database_url = 'mysql://{user}:{password}@{host}:{port}/{database_name}?charset=utf8mb4'.format(
user=user,
password=password,
host=host,
port=port,
database_name=database_name,
)
engine = create_engine(database_url, echo=False, encoding='utf-8')
pro = ts.pro_api(tushare_token)
data = pd.DataFrame(pro.stock_basic(
exchange='',
list_status='L',
fields='ts_code,'
'symbol,'
'name,'
'area,'
'industry,'
'fullname,'
'enname,'
'market,'
'exchange,'
'curr_type,'
'list_status,'
'list_date,'
'delist_date,'
'is_hs',
)
)
con = engine.connect()
data.to_sql('stockdatabase_stockbasic', con=con, if_exists='replace')
将数据库参数改为你自己的参数,并运行以上代码,即可构建你的第一个自己的上市公司数据表。
3.注意事项
(1) 编码问题:之前没有添加截图的?charset=utf8mb4以及encoding='utf-8'导致数据保存不进表中。 (2) 因为tushare的接口返回的数据都是dataframe类型的所以需要使用.to_sql()函数。 (3) 包下载问题,如果pip install 下载不了,可以尝试去先下载包的轮子,然后再本地pip install 轮子。