从tushare获取股票交易数据并写入mysql后,从mysql中读取数据,进行分析(使用pyecharts画K线)


参考文章:

免费开放股票数据平台tushare注册地址。

【python量化交易学习】pandas获取tushare股票交易数据,写入mysql数据库中。

pyecharts官方文档

pyecharts官方实例

tushare结合pyecharts生成股票K线图

import os
import pandas as pd
from sqlalchemy import create_engine
import tushare as ts
from pyecharts import options as opts
from pyecharts.charts import Kline

# 建立mysql数据库的连接
conn = create_engine('mysql+pymysql://root:123456@localhost:3306/qtrade', encoding='utf8')

# 读取000001.sz 的交易数据
df = pd.read_sql("SELECT  * FROM dailytrade WHERE ts_code = '000001.SZ' ", conn)
# 倒序排列(调整为时间正序)
df = df.iloc[::-1]

# df[['a','b']]#取a、b列
ochl = df[['open', 'close', 'high', 'low']]

# 将dataframe数据,转化为list格式
ochl_tolist = [ochl.iloc[i].tolist() for i in range(len(ochl))]

stocks = '000001.SZ'

c = (
    Kline()
        # 配置x轴数据(日期)
        .add_xaxis(xaxis_data=list(df.trade_date))
        # 配置Y轴数据(交易相关价格数据)
        .add_yaxis("", ochl_tolist)
        # 全局配置
        .set_global_opts(
        # AxisOpts:坐标轴配置项。 is_scale 是否显示 x 轴。
        xaxis_opts=opts.AxisOpts(is_scale=True),
        # y轴配置项
        yaxis_opts=opts.AxisOpts(
            is_scale=True,
            # 分割区域配置项
            splitarea_opts=opts.SplitAreaOpts(is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)),
        ),
        # 区域缩放配置项
        datazoom_opts=[opts.DataZoomOpts()],
        # 标题配置项
        title_opts=opts.TitleOpts(title=stocks),
    ).render("kline_datazoom_slider.html")
)

os.system(c)

生成的K线图,与实际一致。
在这里插入图片描述

东方财富截图:
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐