首先要能正确安装Barra Optimizer,意思就是需要有一个key

使用Barra Optimizer API的顺序

  1. Create a Workspace
  2. Add Assets into Workspace
    1. 这部分首先是读取数据,读取数据有两种方式,一个是自己自定义数据,比如定义价格,因子的相关性矩阵,定义初始的价格和收益等等,
      1. 这个可以参考tutorial下的TutorialData.py,调取LoadAssetData()来读取;
      2. 另一种是使用官方提供的数据,即使用例如GEM3,USE4,以及CNE5等因子模型的数据,这个参考的是TutorialApp.py的Tutorial19使用的函数是LoadModelsDirectData,这样可以一波读取一堆数据。
    2. 这部分可以读取的资产包括,0 = Cash; 1 = Futures; 2 = Currency; 3 = Regular; 4 = Composite; 5 = Composite futures,其中要进行说明的是,Regular
  3. Construct initial Portfolio, Benchmark, and Trade Universe
    1. 对于免印花税和不免印花税的,专门有俩函数,前者使用AddTaxLot(),后者使用AddAsset()
    2. Universe 和benchmark的portofolio可以从AddAsset()里得到,不需要给trade universe增加权重
  4. Define Risk Model
    1. 使用CreateRiskModel()来构造风险模型需要的几个矩阵,D,F,X
      1. 这里介绍一些这是什么,D,F,X
      2. 所需要读取的数据,有这么几类:

这里有一个需要注意的地方,如果文件的路径写错了,会报一个缺少FullCovariance文件的错误

  1. Prepare Optimization Case
  2. Run Optimization
  3. Multi-Period optimization
  4. 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个预测收益高的股票,然后权