【@胡锡进】大模型量化分析- 福耀玻璃 600660.SH

  • SARIMA模型:

    import pandas as pd
    import numpy as np
    from statsmodels.tsa.statespace.sarimax import SARIMAX

    将日期转换为datetime格式

    data['date'] = pd.to_datetime(data['date'], format='%Y%m%d')

    创建SARIMA模型

    model = SARIMAX(data['close'], order=(1, 0, 0), seasonal_order=(1, 1, 1, 12))

    拟合模型

    model_fit = model.fit()

    预测未来3天的价格

    future_dates = pd.date_range(start=data['date'].iloc[-1], periods=3, freq='D')
    forecast = model_fit.get_forecast(steps=3)
    predicted_values = forecast.predicted_mean

    输出预测结果

    print(predicted_values)

  • 简单移动平均线(SMA)模型:

    计算简单移动平均线

    data['SMA'] = data['close'].rolling(window=7).mean()

    预测未来3天的价格(使用最近7天的平均值作为预测值)

    last_7_days = data['close'].tail(7)
    predicted_values = np.mean(last_7_days)

    输出预测结果

    print(predicted_values)

  • 指数加权移动平均线(EMA)模型:

    计算指数加权移动平均线

    data['EMA'] = data['close'].ewm(span=7, adjust=False).mean()

    预测未来3天的价格(使用最近一个指数加权移动平均值作为预测值)

    last_EMA = data['EMA'].iloc[-1]
    predicted_values = last_EMA

    输出预测结果

    print(predicted_values)

  • Bollinger带模型:

    计算布林带指标

    data['MA'] = data['close'].rolling(window=20).mean()
    data['std'] = data['close'].rolling(window=20).std()
    data['upper_band'] = data['MA'] + 2 * data['std']
    data['lower_band'] = data['MA'] - 2 * data['std']

    预测未来3天的价格(使用最近一个布林带的上轨值作为预测值)

    last_upper_band = data['upper_band'].iloc[-1]
    predicted_values = last_upper_band

    输出预测结果

    print(predicted_values)

  • 相对强弱指标(RSI)模型:

    计算相对强弱指标

    data['delta'] = data['close'].diff()
    data['gain'] = np.where(data['delta'] >= 0, data['delta'], 0)
    data['loss'] = np.where(data['delta'] < 0, -data['delta'], 0)
    data['avg_gain'] = data['gain'].rolling(window=14).mean()
    data['avg_loss'] = data['loss'].rolling(window=14).mean()

    计算相对强弱指标

    data['RS'] = data['avg_gain'] / data['avg_loss']
    data['RSI'] = 100 - (100 / (1 + data['RS']))

    预测未来3天的价格(使用最近一个相对强弱指标值作为预测值)

    last_RSI = data['RSI'].iloc[-1]
    predicted_values = last_RSI

    输出预测结果

    print(predicted_values)

  • 随机指标(KD指标)模型:

    计算随机指标(KD指标)

    data['lowest_low'] = data['low'].rolling(window=9).min()
    data['highest_high'] = data['high'].rolling(window=9).max()
    data['%K'] = (data['close'] - data['lowest_low']) / (data['highest_high'] - data['lowest_low']) * 100
    data['%D'] = data['%K'].rolling(window=3).mean()

    预测未来3天的价格(使用最近一个随机指标值作为预测值)

    last_%K = data['%K'].iloc[-1]
    predicted_values = last_%K

    输出预测结果

    print(predicted_values)

  • 线性回归模型:

    from sklearn.linear_model import LinearRegression

    创建线性回归模型

    model = LinearRegression()

    准备训练数据

    X = data['date'].values.reshape(-1, 1)
    y = data['close']

    拟合模型

    model.fit(X, y)

    预测未来3天的价格

    future_dates = pd.date_range(start=data['date'].iloc[-1], periods=3, freq='D')
    X_future = future_dates.values.reshape(-1, 1)
    predicted_values = model.predict(X_future)

    输出预测结果

    print(predicted_values)

  • 随机森林回归模型:

    from sklearn.ensemble import RandomForestRegressor

    创建随机森林回归模型

    model = RandomForestRegressor()

    准备训练数据

    X = data['date'].values.reshape(-1, 1)
    y = data['close']

    拟合模型

    model.fit(X, y)

    预测未来3天的价格

    future_dates = pd.date_range(start=data['date'].iloc[-1], periods=3, freq='D')
    X_future = future_dates.values.reshape(-1, 1)
    predicted_values = model.predict(X_future)

    输出预测结果

    print(predicted_values)

  • 支持向量回归(SVR)模型:

    from sklearn.svm import SVR
    from sklearn.preprocessing import StandardScaler

    创建支持向量回归模型

    model = SVR()

    准备训练数据

    X = data['date'].values.reshape(-1, 1)
    y = data['close']

    特征缩放

    scaler = StandardScaler()
    X_scaled = scaler.fit_transform(X)

    拟合模型

    model.fit(X_scaled, y)

    预测未来3天的价格

    future_dates = pd.date_range(start=data['date'].iloc[-1], periods=3, freq='D')
    X_future = future_dates.values.reshape(-1, 1)
    X_future_scaled = scaler.transform(X_future)
    predicted_values = model.predict(X_future_scaled)

    输出预测结果

    print(predicted_values)

civilpy:Python数据分析及可视化实例目录926 赞同 · 36 评论文章​编辑

相关推荐
阿维的博客日记7 分钟前
大白话解析快排Python
python
doujiaozh23 分钟前
我在 DOS 6.22 上跑通了 Kimi AI:一场跨越 40 年的硬核接力
python
凛铄linshuo36 分钟前
分析业务流程什么时候适合断言?
python·pytest
import_random1 小时前
[python]IDE可以自动检测venv工具创建的虚拟环境.venv吗
python
楠风测开1 小时前
Python学习路线:搭好环境,跑通第一个脚本
python
code2cat1 小时前
【随笔】RAG重排怎样挑证据:先扩大候选,再把相关片段排到前面
人工智能·python·大语言模型·rag
云和数据.ChenGuang1 小时前
python大小整数范围解析
java·开发语言·python
cpolar技术支持2 小时前
端口被谁占了、这台机上开了哪些监听?本机起一个端口占用只读清单,cpolar 给异地同事远程看谁在监听
运维·python·内网穿透·cpolar·端口占用
长坡夜行2 小时前
没有运维的交易系统,是怎么自己活下去的
python
WeiXin_DZbishe2 小时前
基于springboot装修风格选择系统的设计与开发-计算机毕设【课程设计】77964
java·vue.js·spring boot·后端·python·php·课程设计