【数据竞赛】数据竞赛中最贵的四个特征

机器学习初学者

共 1998字,需浏览 4分钟

 ·

2021-07-27 09:59


作者:杰少


四大量化强特


简介

本文介绍四个在量化问题中非常重要的特征,对量化有兴趣的朋友可以参考学习,此处的资料主要来源于Optiver团队在Kaggle赛事中的分享。

四大量化强特

01


bid/ask spread

由于不同的股票在市场上的交易水平不同,我们采用最佳报价(best offer price)和最佳买入价(best bid price)的比值来计算买卖价差。

买卖价差的计算公式可采用以下形式:

注:最佳买入价是有人愿意购买的最高价格,最佳报价(或出价)是有人愿意出售的最低价格。

01


Weighted averaged price

订单(Order) Book是股票估值的重要来源之一。公允的账面价值评估必须考虑两个因素:订单的水平和规模。我们可以使用加权平均价格(WAP)来计算股票的瞬时估值,并以实际波动率为目标。

WAP的公式如下,它考虑了最高级别的价格和数量信息:

如果两本books在同一价格水平上分别有出价(bid offer)和要价(ask offer),那么出价越多的book将产生较低的股票估值,因为书中有更多的意向卖家,而卖家越多意味着市场上的供应越多,导致股票估值越低。
  • 在大多数情况下,在连续交易时间内,订单簿不应出现bid order高于offer或ask order的情况

03


Log returns

假设是股票在时刻的价格,我们通过下面的方式计算时刻的log return,

通常我们会计算在10分钟之内的log return。Log returns有很多优势,例如:

  • 它们可以在时间轴上相加:
  • 一般的returns不可能低于-100%,但是log return是不受限的;

04


Realized volatility

模型的有价值输入是股票对数收益的标准差。对于在较长或较短时间间隔内计算的对数收益率,标准差会有所不同,因此通常:

  • 将其标准化为1年期,而年化标准差就被称为波动率(volatility)。

我们一般会使用WAP作为股票的价值来计算log returns。

代码

1.bid/ask spread

def ba_spread(best_offer, best_bid):
    ba_spread =  best_offer / best_bid - 1.0
    return ba_spread

2.WAP

def wap(book):
    wap = (book['bid_price1'] * book['ask_size1'] +\
               book['ask_price1'] * book['bid_size1']) / (book['bid_size1']+ book['ask_size1'])
    return wap

3.Log returns

def log_return(list_stock_prices):
    return np.log(list_stock_prices).diff() 

4.Realized volatility

def realized_volatility(series_log_return):
    return np.sqrt(np.sum(series_log_return**2)) 
适用问题

股票等问题的建模。

参考文献
  1. Introduction to financial concepts and data 

    往期精彩回顾




    本站qq群851320808,加入微信群请扫码:
    1. 适合初学者入门人工智能的路线及资料下载
    2. 机器学习及深度学习笔记等资料打印
    3. 机器学习在线手册
    4. 深度学习笔记专辑
    5. 《统计学习方法》的代码复现专辑
    6. AI基础下载
    7. 机器学习的数学基础专辑
    8. 温州大学《机器学习课程》视频
浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报