阅读笔记Multi-task Learning for Stock Selection [NIPS1996]
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]的更多相关文章
- ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations
中文译文:深度学习.自然语言处理和表征方法 http://blog.jobbole.com/77709/ 英文原文:Deep Learning, NLP, and Representations ht ...
- CVPR2022 Oral OGM-GE阅读笔记
标题:Balanced Multimodal Learning via On-the-fly Gradient Modulation(CVPR 2022 Oral) 论文:https://arxiv. ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- Deep Learning of Graph Matching 阅读笔记
Deep Learning of Graph Matching 阅读笔记 CVPR2018的一篇文章,主要提出了一种利用深度神经网络实现端到端图匹配(Graph Matching)的方法. 该篇文章理 ...
- 【转载】 《Human-level concept learning through probabilistic program induction》阅读笔记
原文地址: https://blog.csdn.net/ln1996/article/details/78459060 --------------------- 作者:lnn_csdn 来源:CSD ...
- 个性探测综述阅读笔记——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 文本 ...
- [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks
[论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...
- [论文阅读笔记] node2vec Scalable Feature Learning for Networks
[论文阅读笔记] node2vec:Scalable Feature Learning for Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 由于DeepWal ...
- [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks
[论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...
随机推荐
- LR12.53—第5课:创建负载测试场景
在前面的课程中,您使用VuGen将验证您的Vuser脚本.在本课中,您将评估多个Vuser的负载下您的系统.您将模拟十个旅行代理同时使用航班预订系统的行动,以及这些用户的负载下观察系统的行为.设计和运 ...
- c#修改config中的AppSettings属性
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); cfa.AppS ...
- JS实现无缝滚动
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- TENDA-F322路由器管理工具
https://yunpan.cn/cYsfNxJLfVnUY (提取码:d0ae)
- Ninject之旅之十一:Ninject动态工厂(附程序下载)
摘要 如果我们已经知道了一个类所有的依赖项,在我们只需要依赖项的一个实例的场景中,在类的构造函数中引入一系列的依赖项是容易的.但是有些情况,我们需要在一个类里创建依赖项的多个实例,这时候Ninject ...
- .NET (上传的)文件下载
string strPath = “//UploadFiles/Equipment/QQ截图.png” // 文件有效地址 FileInfo fileInfo = new FileInfo(strPa ...
- REST及RESTful的实现
什么是REST? REST (REpresentation State Transfer) 描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy Fielding ...
- MySQL连接线程kill利器之pt-kill
如何每10秒检查一次,杀死指定用户超过100秒的查询? pt-kill \ --no-version-check \ --host 127.0.0.1 --port 3306 --user 'xxxx ...
- mobx源码解读2
我们将上节用到的几个类的构造器列举一下吧: function Reaction(name, onInvalidate) { if (name === void 0) { name = "Re ...
- 26 Time Management(转)
01. There is alway time. Time is priorities. 时间常有.时间优先. 02. Days always fill up. 时间总会有的. Only plan f ...