Python 与金融科技9|生成机器学习的标签和特征

本文介绍如何使用Python生成机器学习所需的特征和标签,以进行金融数据分析。内容涉及机器学习基本概念,如标签(买入、卖出、持有)、特征、模型和样本的解释,以及基于未来股价变化趋势定义标签的方法。通过示例代码展示了如何提取特征和生成股票交易的标签。

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

这一期,我们将共同学习如何生成机器学习所需要的特征和标签。有了特征和标签,我们才能使用机器学习方法对数据进行分类。然后根据建立好的分类模型完成预测。

前言

在这个系列中,我们将共同学习如何借助Python这个强大的工具处理金融数据。在正式开始这个系列的学习之前,需要您具有Python编程的基础知识,至少需要将Python安装好。如果暂时还不满足这一要求的,建议先关注公众号 IT信息教室,学习 Python入门教程。

内容首发于微信公众号IT信息教室,如果您想学习更多AI相关的技能,欢迎搜索关注或微信扫描下方二维码关注~~

在这里插入图片描述

机器学习概述

说到机器学习,就不得不提到其中的一些基本概念:

标签,特征,模型,样本

首先来看标签。机器学习一般就是去训练机器,让机器有‘思维’,然后能够用训练好的‘思维’帮助我们去预测一些事情。因此机器学习的目的之一是去预测信息。而这里预测的信息就叫做 标签。这个标签都是人为去设定的,由于自然界的信息是多种多样的,因此标签也是多种多样的。标签可以是一类物体,比如’水果’,‘蔬菜’ 等。也可以是一种变化趋势,例如 '未来股票走势’等。

标签的选择对我们的预测结果很重要,最好不要选的太泛,也不要选的特别具体。

另一个概念是特征。标签表示的是信息,而具体一个标签表示什么样的信息就是由特征决定的。例如 ‘毛绒绒的’,‘白色的’,‘长长的耳朵’,‘喜欢吃胡萝卜和青菜’,这些信息可以作为特征,而 ‘兔子’ 就可以作为这些特征对应的标签。当然,也可以定义为其他标签,例如‘动物’。

特征就是一系列的信息,用来表征事物,映射出标签。特征应该是具体可量化的信息,不包括主观感受。

模型,就是能训练与预测的程序。模型的训练过程就是找到特征与标签之间固定化的映射关系。训练好的模型会用来预测标签。预测的过程就是根据给定的特征,按照固定化的关系,判断出标签是什么。

从模型预测的信息可以将其分为回归模型和分类模型。 回归模型用于预测“未来”会发生的事情。而分类模型,用于预测事物是哪一类。

样本一般就是指的数据,是特征的封装。 样本可以带标签,也可以不带标签。

带标签的样本,可以用于模型的训练。 不带标签的样本,可用于模型的预测。

生成标签

我们定义的标签有买入,卖出和继续持有。分别用数字 1,-1 和 0 表示。标签的定义方法是由未来 7 天内收盘价的变化趋势决定的。如果 7天 内会最先出现收盘价涨幅超过 x% 的情况,那么就定义当前的标签为买入,如果 7天 内会最先出现收盘价跌幅超过 x% 的情况,那么就定义当前的标签为卖出。其余情况定义为继续持有。

以 x=2 为例,使用函数 buySellHold 实现上述功能,代码实现如下:

def buySellHold(*args):
    cols = [col for col in args]
    requirement = 0.02
    for col in cols:
        if col > requirement:
            return 1
        if col < -requirement:
            return -1
    return 0

*args 表示当前函数传递的参数个数是未知的。多个参数可以通过列表传递。这样,给定一组股票的特征数据(特征数据的获取参考上一期),使用这个函数就能生成对应的标签。

提取特征、生成标签

提取特征、生成标签

def extractFeaturesets(ticker):

首先根据上一期的内容生成交易信息的特征数据:

tickers, dataFrame = processDataForLables(ticker)

生成的新的 dataFrame 中 ‘ticker_1d’, ‘ticker_2d’, …, ‘ticker_7d’ 对应列的内容将作为我们每一支股票生成标签的数据。

            600585.SS_1d  600585.SS_2d  600585.SS_3d  600585.SS_4d  600585.SS_5d  600585.SS_6d  600585.SS_7d
Date                                                                                                        
2010-01-04     -0.012037     -0.009753     -0.041290     -0.039423     -0.067014     -0.050209     -0.090043
2010-01-05      0.002312     -0.029610 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值