Python股票量化程序

2023-03-04 17:31:40 浏览数 (1)

代码语言:javascript复制
import tushare as ts
import pandas as pd
import numpy as np

# 策略参数
stock_code = '000001'  # 股票代码
buy_threshold = 1.02   # 买入阈值
sell_threshold = 0.98  # 卖出阈值
window_size = 10       # 均线窗口大小

# 获取股票数据
df = ts.get_hist_data(stock_code)

# 数据清洗
df.dropna(inplace=True)  # 去除缺失数据

# 计算均线
df['ma'] = df['close'].rolling(window=window_size).mean()

# 交易规则
hold_flag = False   # 持仓标志
buy_price = 0       # 买入价格
profit = 0          # 收益

for i in range(window_size, len(df)):
    # 判断买入
    if not hold_flag and df.iloc[i]['close'] > df.iloc[i]['ma'] * buy_threshold:
        hold_flag = True
        buy_price = df.iloc[i]['close']
        print('买入:', df.index[i], buy_price)

    # 判断卖出
    if hold_flag and df.iloc[i]['close'] < df.iloc[i]['ma'] * sell_threshold:
        hold_flag = False
        sell_price = df.iloc[i]['close']
        profit  = (sell_price - buy_price) / buy_price
        print('卖出:', df.index[i], sell_price, '收益:', profit)

# 输出总收益率
print('总收益率:', profit)

这个程序使用了tushare库获取股票数据,计算了股票的均线,并根据均线与买卖阈值的关系来判断是否买入或卖出股票。程序中的交易规则是一个简单的均线策略,如果股票价格上穿均线并且超过买入阈值,就买入股票;如果股票价格下穿均线并且低于卖出阈值,就卖出股票。程序的输出包括每次买卖的时间和价格,以及总收益率。

请注意,这只是一个简单的示例程序,实际的量化程序需要更加复杂的模型和策略,并且需要经过充分的测试和验证。此外,量化程序涉及到金融市场和投资风险等因素,需要对风险有足够的认识和管理能力。

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=xgvrmdcwyxhr

0 人点赞