import dash
import pandas as pd
from dash import html
import feffery_antd_charts as fact
import feffery_antd_components as fac
from dash.dependencies import Input, Output, State
# 读入原始数据
raw_stock_data = pd.read_csv('./A股_股票日线行情数据_20220223_20220311.csv',
dtype={'股票代码': 'str'},
parse_dates=['交易日期'])
stock_data = raw_stock_data.copy()
stock_data['交易日期'] = stock_data['交易日期'].dt.strftime('%Y-%m-%d')
stock_data = (
stock_data
.groupby(['TS代码', '股票代码', '股票名称', '地域', '所属行业', '上市时间'])
.apply(
lambda df: (
df
.sort_values('交易日期')
.agg({
'收盘价': lambda s: s.tolist(),
'涨跌额': lambda s: s.tolist(),
'涨跌幅': lambda s: s.tolist(),
'成交量(手)': lambda s: s.tolist(),
'成交额(千元)': lambda s: s.tolist()
})
)
)
.reset_index(drop=False)
)
stock_data['周期涨幅'] = stock_data['收盘价'].apply(lambda l: (l[-1] - l[0]) / l[0])
app = dash.Dash(__name__, update_title=None)
app.title = '股票分析应用 - 公众号【玩转dash】出品'
app.layout = html.Div(
[
fac.AntdRow(
[
fac.AntdCol(
html.Div(
[
fac.AntdAlert(
message=[
'通过点击下表每行左侧单选框,选择你需要进一步分析的股票',
'更多dash应用开发专业知识欢迎关注公众号【玩转dash】'
],
showIcon=True,
messageRenderMode='loop-text'
),
fac.AntdTable(
id='all-stocks-info-table',
columns=[
{
'title': '股票名称',
'dataIndex': '股票名称',
'fixed': 'left',
'width': 100
},
{
'title': 'TS代码',
'dataIndex': 'TS代码',
'width': 100
},
{
'title': '股票代码',
'dataIndex': '股票代码',
'width': 100
},
{
'title': '地域',
'dataIndex': '地域',
'width': 100
},
{
'title': '所属行业',
'dataIndex': '所属行业',
'width': 100
},
{
'title': '上市时间',
'dataIndex': '上市时间',
'width': 100
},
{
'title': '收盘价',
'dataIndex': '收盘价',
'width': 100,
'renderOptions': {
'renderType': 'mini-area'
}
},
{
'title': '涨跌额',
'dataIndex': '涨跌额',
'width': 100,
'renderOptions': {
'renderType': 'mini-area'
}
},
{
'title': '涨跌幅',
'dataIndex': '涨跌幅',
'width': 100,
'renderOptions': {
'renderType': 'mini-area'
}
},
{
'title': '成交量(手)',
'dataIndex': '成交量(手)',
'width': 100,
'renderOptions': {
'renderType': 'mini-bar'
}
},
{
'title': '成交额(千元)',
'dataIndex': '成交额(千元)',
'width': 100,
'renderOptions': {
'renderType': 'mini-bar'
}
}
],
sortOptions={
'sortDataIndexes': ['上市时间']
},
filterOptions={
'股票代码': {
'filterMode': 'keyword'
},
'TS代码': {
'filterMode': 'keyword'
},
'地域': {},
'所属行业': {},
'股票名称': {
'filterMode': 'keyword'
}
},
rowSelectionType='radio',
maxWidth=1100,
data=stock_data.to_dict('records'),
bordered=True,
miniChartHeight=25,
pagination={
'pageSize': 15,
'showSizeChanger': False,
'showQuickJumper': True,
'showTotalPrefix': '共有股票 ',
'showTotalSuffix': ' 只'
}
)
],
style={
'boxShadow': '0 6px 16px rgb(107 147 224 / 14%)',
'borderRadius': '10px',
'padding': '20px',
'height': '100%'
}
),
span=12
),
python搭建网页应用分析A股近期表现
版权申诉
84 浏览量
2022-04-10
02:42:49
上传
评论
收藏 1.86MB ZIP 举报
python慕遥
- 粉丝: 2682
- 资源: 261
最新资源
- 华为打印机,华为打印机资料
- mac os button功能demo
- 如何在Ubuntu上安装软件?
- 华为HCIA-WLAN 3.0 课程视频(20 熟悉命令行.mp4)
- 三峡职业技术学院的GeoJSON 坐标点数据集
- 华为HCIA-WLAN 3.0 课程视频(19 华为VRP系统概述(下).mp4)
- 三峡职业技术学院的GeoJSON地图区域数据
- 华为HCIA-WLAN 3.0 课程视频(18 华为VRP系统概述(上).mp4)
- 编程实战项目:基于asp.net技术的学生成绩管理系统(最全的源代码+最全的文档)
- 华为HCIA-WLAN 3.0 课程视频(17 Wi-Fi6产品介绍(2).mp4)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈