在"实例1:下落小球跟踪"中,调整观测噪声协方差参数(observation_covariance
)取值分别为1、10、50,完成以下任务:
import numpy as np
import matplotlib.pyplot as plt
from pykalman import KalmanFilter
# 基础参数配置
tau = 0.1
g = -9.8
true_initial_position = 30
true_initial_velocity = 10
# 生成真实轨迹
t = np.arange(40)
real_positions = true_initial_position + true_initial_velocity*t + 0.5*g*tau**2*t**2
# 不同噪声水平的观测数据生成
noise_levels = [1, 10, 50]
observations = {
f'noise_{nl}': real_positions + np.random.randn(len(t))*nl
for nl in noise_levels
}
# 此处留空用于滤波器配置和运行
选取新能源汽车行业股票(如TSLA)与科技行业ETF(QQQ),完成以下任务:
import yfinance as yf
import pandas as pd
# 数据获取与预处理
symbols = ['TSLA', 'QQQ']
start_date = '2021-01-01'
end_date = '2023-12-31'
data = yf.download(symbols, start=start_date, end=end_date)['Close']
returns = data.pct_change().dropna()
# 数据对齐
market_returns = returns['QQQ'].values
stock_returns = returns['TSLA'].values
# 观测矩阵构建(包含市场收益和截距项)
observation_matrix = np.ones((len(market_returns), 1, 2))
observation_matrix[:, 0, 0] = market_returns
# 此处留空用于卡尔曼滤波器配置和运行