首先要能正确安装Barra Optimizer,意思就是需要有一个key
使用Barra Optimizer API的顺序
-
Create a Workspace
-
Add Assets into Workspace
-
这部分首先是读取数据,读取数据有两种方式,一个是自己自定义数据,比如定义价格,因子的相关性矩阵,定义初始的价格和收益等等,
-
这个可以参考tutorial下的TutorialData.py,调取LoadAssetData()来读取;
-
另一种是使用官方提供的数据,即使用例如GEM3,USE4,以及CNE5等因子模型的数据,这个参考的是TutorialApp.py的Tutorial19使用的函数是LoadModelsDirectData,这样可以一波读取一堆数据。
-
这部分可以读取的资产包括,0 = Cash; 1 = Futures; 2 = Currency; 3 = Regular; 4 = Composite; 5 = Composite futures,其中要进行说明的是,Regular
-
Construct initial Portfolio, Benchmark, and Trade Universe
-
对于免印花税和不免印花税的,专门有俩函数,前者使用AddTaxLot(),后者使用AddAsset()
-
Universe
和benchmark的portofolio可以从AddAsset()里得到,不需要给trade universe增加权重
-
Define Risk Model
-
使用CreateRiskModel()来构造风险模型需要的几个矩阵,D,F,X
-
这里介绍一些这是什么,D,F,X
-
所需要读取的数据,有这么几类:
这里有一个需要注意的地方,如果文件的路径写错了,会报一个缺少FullCovariance文件的错误
-
Prepare Optimization Case
-
Run Optimization
-
Multi-Period optimization
-
Multi- Account optimization
Multiple-Account Optimization
Multiple-Account Optimization (or Multiple-Portfolio Optimization) simultaneously optimizes a number of accounts based on their individual account information as well as their joint market-impact transaction costs or any cross-account constraints. Barra Optimizer supports two variants of Multiple-Account Optimization as described in the following sections.
transaction cost function
In recent years the investment management industry has adjusted
to continuing changes—theoretical advances, technological devel-
opments, and volatility. To address these, investment managers
and financial institutions require the most advanced and powerful
analytical tools available.
0. 梯度下降 2
1. 批量梯度下降Batch gradient descent(BGD) 3
2. 随机梯度下降 Stochastic gradient descent(SGD) 4
3. 小批量梯度下降 Mini-batch gradient descent(MBGD) 5
4. Momentum(动量) 7
5. Adagrad 7
6. Adadelta 9
7. RMSprop 9
8. Adam 10
优化器的选择 11
最近邻分类器 11
损失函数 12
激活函数: 14
优化函数 14
1.不等式约束前面我们讨论了等式约束下的情况,那么如果有不等式约束呢?比如,我们不能做空股票,那么就要求每一个股票的权重都要大于1,或者对于特定的股票我们给予特殊的权重的设定等等。
这里,我们就假设我们设置两个不等式约束:
股票s2的权重要要大于等于0.1.
这个时候,我们的约束条件就是:
subjectto.A′x≤bsubject to. A^{'}x \leq b
本篇文章有别于传统的多因子研究,我们并未将重点放在阿尔法因子的挖掘上,而是通过对股票组合的权重优化计算,找到了在市值中性、行业中性、风格因子中性约束下的最优投资组合,以及验证得到的组合权重是否满足了约束条件。
结构化多因子风险模型首先对收益率进行简单的线性分解,分解方程中包含四个组成部分:股票收益率、因子暴露、因子收益率和特质因子收益率。那么,第只股票的线性分解如下所示:
rj=x1f1+x2f2+x3f3+x4f4⋅⋅⋅⋅xKfK+ujr_j=x_1f_1+x_2f_2+x_3f_3+x_4f_4 ···
根据多因子模型,或者说alpha策略的开发顺序,我们应当是按照:因子--》alpha 模型--》风险模型--》组合构建 这样几个模块来的。今天来说说组合构建这个事。 组合构建是在你有了alpha模型和风险模型之后,也就是说,你现在可以预测股票的收益和股票的风险了。那么我们怎么构建组合呢? 大概有这么几种方法: a.根据alpha模型,选择前面N个预测收益高的股票,然后权