Multi-task Learning for Stock Selection 

Joumana Ghosn and Yoshua Bengio

摘要

用人工神经网络预测未来回报以便于做出对应的金融决策时,我们需要考虑是为每支stock训练一个独立的网络结构还是所有的stocks能够共享一个网络结构。本文采用了一种折中的方案:将每支股票的未来回报作为一个task,那么不同股票间的模型会共享一些参数,这是一种多任务学习的形式。这种方法的年收益比多种benchmarks高14%。

前言

以往的对于金融时间序列的研究展现了很强的非线性,由此可以理解ANN的应用广泛。这些模型融合多类解释变量:(1)技术变量:包括过去的价格序列;(2)微观经济股票变量(股票收益);(3)宏观经济变量(商业周期相关的信息)。本文重点探索这样的问题:不同股票对待不同变量的方式不同还是相同?

本文做了一系列实验:使用不同参数子集作为不同股票模型间的共享参数。

本文的实验数据:9 years of data concerning 35 large capitalization companies of the Toronto Stock Exchange.

本文的优化目标:directly optimize a financial criterion,而非minimize the mean squared prediction error。前者的效果要好于后者。

参数共享(parameter sharing)以及多任务学习 

训练数据:

优化目标:-the function of the desired output and the output of the learner

预测模型:

基于相似任务来自动选择假设空间的方法已经被广泛研究。这种研究的认为:学习器是嵌入到现实世界中多个相关的任务中的(many related tasks),学习一个任务的知识可以有助于更好更快的学习一个新的任务。一些方法认为这些相关的任务并不是同时可用的:一些以前学过的任务获得的知识可以转移(transferred)到新的任务上。这里我们研究的所有任务都是并行学习的,因为我们的任务不在于使用多任务学习的方式来改善学习效率,而是用来提高学习的泛化能力。以Baxter1995年的工作为例,为每个任务训练一个神经网络,这些神经网络的第一隐层是共享的,但是后面的各层是任务相关的。共享层(The shared layers):使用所有任务中的训练数据来获取知识,从而构建合适的内部表示。任务相关层(Task-specific layers):使用内部表示来学习任务相关的网络权重。

股票选择应用(Application of Stock Selection)

数据集:36  stocks (1986.2~1994.1,96 months) one can buy or sell monthly

5 explanatory variables (features): 2 macro-economic variables (yields of long-term bonds ; the Consumer Price Index);

3 micro-economic variables (the series of dividend yields ; the series of ratios of stock price to book value of the company ; Spline extrapolation)

train/test split: 前k年做training,接下来1年做testing (不同的训练窗口k=3,4,5,6,7)

四种不同的参数共享方式(four types of parameter sharing):

(1) sharing everything:共享所有的参数

(2) sharing only the parameters of the first hidden layers: 仅共享第一隐层的参数

(3) sharing only the output layer parameter:仅共享最后的输出层参数

(4) not sharing anying:为每个stock训练一个独立的模型

结论:

(1) 最好的结果:采用一个共享的隐层以及独立的输出层,性能改进原因在于允许一些参数是不共享

(2) 共享一些参数比完全独立的模型得到的结果更一致

(3) 采用多任务学习得到的结果比benchmark结果要好

参考文献:

1. Using a Financial Training Criterion Rather than a Prediction Criterion, Yoshua Bengio, 1996, Technical Report

阅读笔记Multi-task Learning for Stock Selection [NIPS1996]的更多相关文章

  1. ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations

    中文译文:深度学习.自然语言处理和表征方法 http://blog.jobbole.com/77709/ 英文原文:Deep Learning, NLP, and Representations ht ...

  2. CVPR2022 Oral OGM-GE阅读笔记

    标题:Balanced Multimodal Learning via On-the-fly Gradient Modulation(CVPR 2022 Oral) 论文:https://arxiv. ...

  3. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  4. Deep Learning of Graph Matching 阅读笔记

    Deep Learning of Graph Matching 阅读笔记 CVPR2018的一篇文章,主要提出了一种利用深度神经网络实现端到端图匹配(Graph Matching)的方法. 该篇文章理 ...

  5. 【转载】 《Human-level concept learning through probabilistic program induction》阅读笔记

    原文地址: https://blog.csdn.net/ln1996/article/details/78459060 --------------------- 作者:lnn_csdn 来源:CSD ...

  6. 个性探测综述阅读笔记——Recent trends in deep learning based personality detection

    目录 abstract 1. introduction 1.1 个性衡量方法 1.2 应用前景 1.3 伦理道德 2. Related works 3. Baseline methods 3.1 文本 ...

  7. [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks

    [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...

  8. [论文阅读笔记] node2vec Scalable Feature Learning for Networks

    [论文阅读笔记] node2vec:Scalable Feature Learning for Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 由于DeepWal ...

  9. [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks

    [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...

随机推荐

  1. 自己用c语言实现字符串处理库函数以及扩展

    1.实现基本的c语言库函数: int myStrlen( const char* str);//根据传入的字符串首地址获取字符串长度:返回值为长度 int myStrlen(const char* s ...

  2. ajax传递数组到后台

    //实体类 public class Person { private int ID{get;set;} private string Name{get;set;} private int Age{g ...

  3. wordpress stratus模板使用 产品显示问题

    产品不显示,只显示展示产品代码. 1.研究原站demo,思考产品展示调用自woocommerce. 2.查看woocommerce文档,更新展示代码. 3.修改后产品出现,但是多余的关联推荐也展示出来 ...

  4. Vuejs使用笔记 --- 框架

    这两天学了vuejs的模板,于此纪录一下. 这是整个大文件夹的配置,现在我们看到的所有文件都不需要去管,说要关注也只需要关注“index.html” "index.html"里面是 ...

  5. 总结一些关于操作数据库是sql语句还是存储过程问题

    总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...

  6. Managing IIS Log File Storage

    Managing IIS Log File Storage   You can manage the amount of server disk space that Internet Informa ...

  7. 修改eclipse运行内存的大小

    一.    尝试修改Eclipse.ini 文件 (此方法不行) 找到eclipse 目录下的eclipse.ini 文件,修改下面的内容: -Xms40m -Xmx512m 修改后重启eclipse ...

  8. python基础知识3——基本的数据类型2——列表,元组,字典,集合

    磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 一.列表 1.列 ...

  9. zookeeper集群管理配置优化总结

    1:默认jvm没有配置Xmx.Xms等信息,可以在conf目录下创建java.env文件 export JVMFLAGS="-Xms512m -Xmx512m $JVMFLAGS" ...

  10. ng-style 的坑 - 对性能的影响

    本文地址:http://www.cnblogs.com/jying/p/5633203.html 熟悉 angular 的前端对ng-style 一定不陌生,这个家伙可以绑定一个函数,使得我们可以在函 ...