使用Python构建量化小程序

本文介绍基于Python构建查询历史股票行情的应用。

1 数据获取

量化数据接口有很多,有tushare、alltick、xtquant等等。本文使用的是akshare库,它是开源的财经数据库,不仅包含股票、期货、期权、外汇、基金等常见的金融数据,还包括能源、事件、舆情和艺人指数这类不常见但可能影响市场行为的其他数据,可以说是目前市面上免费接口里最全的一个。

以获取深市A股历史日线数据为例,首先获取深市A股的股票信息:

import akshare as ak
stock_info = ak.stock_info_sz_name_code()
stock_info.to_excel('stock_code.xlsx')

2 应用架构

本应用基于dash框架、开源组件库feffery_antd_components与akshare金融数据接口开发的轻量级应用。app.py中进行应用对象的实例化,并构建应用的初始化页面内容;setting.css进行前端界面样式的调整;data储存的是深交所A股信息。

- demo
  - data
    - stock_code.xlsx
  - assets
    - setting.css
  - app.py

3 应用启动

安装好当前项目依赖库,然后直接在终端执行python app.py即可启动应用,按照控制台提示的信息,浏览器访问本地http://127.0.0.1:8050地址即可访问应用。

4 代码

# app.py
import pandas as pd
import dash
from pyecharts import options as opts
import akshare as ak
from dash import Dash, html, dcc, callback, Output, Input, State
import dash_bootstrap_components as dbc
from pyecharts.charts import Kline
import feffery_antd_components as fac


# 应用实例化
app = Dash(
    __name__,
    title='量化小应用',
    update_title='加载中...',
    assets_url_path='assets/setting.css'
)

app.layout = fac.AntdSpace([
    dcc.Store(storage_type='local', id='stock-code-store', data=pd.read_excel('data\stock_code.xlsx', dtype={
   'A股代码': 'str'}).to_dict('records')),
    fac.AntdFlex([
        fac.AntdIcon(icon='antd-right', style={
   'color': '#0069d9'}),
        fac.AntdText('股票历史日线数据查询', className='header')
    ]),
    fac.AntdFlex([
        fac.AntdFlex([
            '股票代码:',
            dcc.Dropdown(
                id='stock-dropdown',
                multi=False,
                searchable=True,
                value='000001',
                placeholder='股票代码',
                style={
   'width': '100px'}
            ),
        ], align='center', gap='small'),
        fac.AntdFlex([
            '日期:',
            fac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值