下面是一份用Python实现动量投资策略的代码示例:

import pandas as pd
import numpy as np
import yfinance as yf

# 定义获取股票历史数据的函数
def get_stock_data(ticker, start_date, end_date):
    stock_data = yf.download(ticker, start=start_date, end=end_date)
    stock_data['Returns'] = stock_data['Adj Close'].pct_change()
    return stock_data

# 定义计算动量指标的函数
def momentum_indicator(stock_data, lookback_period):
    momentum = stock_data['Returns'].rolling(lookback_period).mean()
    return momentum

# 定义动量投资策略函数
def momentum_strategy(stock_data, n_top, lookback_period):
    momentum = momentum_indicator(stock_data, lookback_period)
    top_n = momentum.nlargest(n_top)
    buy_list = list(top_n.index)
    sell_list = list(set(stock_data.index) - set(buy_list))
    return buy_list, sell_list

# 设置参数
ticker = 'AAPL'
start_date = '2010-01-01'
end_date = '2021-12-31'
lookback_period = 12
n_top = 10

# 获取股票历史数据
stock_data = get_stock_data(ticker, start_date, end_date)

# 计算动量指标并进行动量投资策略
buy_list, sell_list = momentum_strategy(stock_data, n_top, lookback_period)

# 输出买入和卖出日期
print('Buy Dates:')
for date in buy_list:
    print(date)
    
print('\nSell Dates:')
for date in sell_list:
    print(date)

在这个示例代码中,我们使用了yfinance库来获取股票历史数据,并计算了动量指标。然后我们使用动量指标来进行动量投资策略,找到动量最强的前n只股票并买入。最后,我们输出了买入和卖出的日期。

请注意,这只是一个示例代码,实际应用中还需要进行更多的细节处理和风险控制

用python实现动量投资策略的代码

原文地址: https://www.cveoy.top/t/topic/fgZq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录