代码语言: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