构建自己的交易数据库

581 阅读1分钟

构建自己的交易数据库

准备工作

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 轮子。