机器学习预测股票涨跌

本文介绍了如何运用机器学习预测股票涨跌,通过构建训练集和测试集,以时间滞后特征为输入,结合python实现量化策略建模。采用Voting法进行模型融合,对HS300指数进行建模分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 量化策略建模:
    1.建立训练集:
    X:t时刻之前的特征因子(价格、价格衍生特征、文本特征等)
    Y:t时刻之前对应的标签(价格、买卖交易)
    2.建立测试集
    t时刻之后的特征/因子
    3.常用的feature
    Time Lags:将滞后期(时间窗口)前的数据样本的指标作为特征
  • direction_pred_main.py
    创建滞后序列
from __future__ import print_function
##python2.x或python3.x均用python 3.x的print格式

import datetime
import numpy as np
import pandas as pd
import tushare as ts

from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix
from sklearn.svm import SVC

def create_lagged_series(symbol, start_date_str, end_date_str, lags=5):
    """
        根据start_data, end_date创建symbol的收盘价的滞后序列
        因为当期的数据会受前期数据的影响
        默认滞后期为5天
    """
    date_str_fmt = '%Y-%m-%d'
    start_date = datetime.datetime.strptime(start_date_str, date_str_fmt)
    one_yr_before_start = start_date - datetime.timedelta(days=365)
    one_yr_before_start_str = one_yr_before_start.strftime(date_str_fmt)

    # 从TuShare获取数据
    hist_data = ts.get_k_data(symbol, one_yr_before_start_str, end_date_str)
    hist_data['date'] = pd.to_datetime(hist_data['date'])
    hist_data.set_index('date', inplace=True)

    # 创建存储滞后序列的DataFrame
    hist_lag = pd.DataFrame(index=hist_data.index)
    hist_lag['today'] = hist_data['close']
    hist_lag['volume'] = hist_data['volume']

    # 创建一个滞后序列
    for i in range(0, lags):
        hist_lag['lag{}'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值