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

机器学习初学者

共 1998字,需浏览 4分钟

 · 2021-07-27


作者:杰少


四大量化强特


简介

本文介绍四个在量化问题中非常重要的特征,对量化有兴趣的朋友可以参考学习,此处的资料主要来源于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. 温州大学《机器学习课程》视频
浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

举报