需求:股票的量化交易指标很多,我想做一个自己的量化交易图表:
- 展示每天交易量和股价振幅的关系图
- 进一步的话想知道单位金额对股价振幅的影响,
- 最终实现大概估计需要多少买入成交量能拉升多少股价)
,
目前未实现,没有拿到具体的每天的买入金额
单位金额对股价振幅的影响
一 注册https://tushare.pro/网站账号:tushare官网
二 Pyhon实现
# 导入必要的库
import tushare as ts
import matplotlib.pyplot as plt
import matplotlib
import pandas as pd
# 设置中文字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 使用黑体显示中文
matplotlib.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 初始化pro接口
pro = ts.pro_api('eedfd24d5c7051178e7c4ff414')
# 拉取数据
df = pro.daily(**{
"ts_code": "000001.SZ",
"trade_date": "",
"start_date": 20250101,
"end_date": 20250117,
"offset": "",
"limit": ""
}, fields=[
"ts_code", # 股票代码
"trade_date", # 交易日期
"open", # 开盘价
"high", # 最高价
"low", # 最低价
"close", # 收盘价
"pre_close", # 前收盘价
"change", # 涨跌额
"pct_chg", # 涨跌幅 【基于除权后的昨收计算的涨跌幅:(今收-除权昨收)/除权昨收 】
"vol", # 成交量 (手)
"amount" # 成交额 (千元)
])
print(df)
# 检查数据是否有缺失值
if df.isnull().values.any():
print("数据包含缺失值,需要处理缺失值")
df.dropna(inplace=True)
# 确保amount和percentage是数值类型
df['amount'] = pd.to_numeric(df['amount'], errors='coerce')
df['open'] = pd.to_numeric(df['open'], errors='coerce')
df['close'] = pd.to_numeric(df['close'], errors='coerce')
# 计算新的Y轴数据
df['percentage'] = abs(df['open'] - df['close']) / df['open']
# 检查计算后的数据是否有缺失值
if df['percentage'].isnull().values.any():
print("计算后的百分比数据包含缺失值,需要处理缺失值")
df.dropna(subset=['percentage'], inplace=True)
# 检查数据范围
print("amount范围:", df['amount'].min(), df['amount'].max())
print("percentage范围:", df['percentage'].min(), df['percentage'].max())
# 打印前几行数据以检查
print("前几行数据:"