/// <summary>
 /// Initialize the model
 /// </summary>
 /// <param name="rebalancingDateRules">The date rules used to define the next expected rebalance time
 /// in UTC</param>
 /// <param name="lookback">Historical return lookback period</param>
 /// <param name="period">The time interval of history price to calculate the weight</param>
 /// <param name="resolution">The resolution of the history price</param>
 /// <param name="targetReturn">The target portfolio return</param>
 /// <param name="optimizer">The portfolio optimization algorithm. If the algorithm is not provided then the default will be mean-variance optimization.</param>
 public MeanVarianceOptimizationPortfolioConstructionModel(IDateRule rebalancingDateRules,
                                                           int lookback                  = 1,
                                                           int period                    = 63,
                                                           Resolution resolution         = Resolution.Daily,
                                                           double targetReturn           = 0.02,
                                                           IPortfolioOptimizer optimizer = null)
     : this(rebalancingDateRules.ToFunc(), lookback, period, resolution, targetReturn, optimizer)
 {
 }
 /// <summary>
 /// Initialize the model
 /// </summary>
 /// <param name="rebalancingDateRules">The date rules used to define the next expected rebalance time
 /// in UTC</param>
 /// <param name="lookback">Historical return lookback period</param>
 /// <param name="period">The time interval of history price to calculate the weight</param>
 /// <param name="resolution">The resolution of the history price</param>
 /// <param name="riskFreeRate">The risk free rate</param>
 /// <param name="delta">The risk aversion coeffficient of the market portfolio</param>
 /// <param name="tau">The model parameter indicating the uncertainty of the CAPM prior</param>
 /// <param name="optimizer">The portfolio optimization algorithm. If no algorithm is explicitly provided then the default will be max Sharpe ratio optimization.</param>
 public BlackLittermanOptimizationPortfolioConstructionModel(IDateRule rebalancingDateRules,
                                                             int lookback                  = 1,
                                                             int period                    = 63,
                                                             Resolution resolution         = Resolution.Daily,
                                                             double riskFreeRate           = 0.0,
                                                             double delta                  = 2.5,
                                                             double tau                    = 0.05,
                                                             IPortfolioOptimizer optimizer = null)
     : this(rebalancingDateRules.ToFunc(), lookback, period, resolution, riskFreeRate, delta, tau, optimizer)
 {
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Initialize a new instance of <see cref="EqualWeightingPortfolioConstructionModel"/>
 /// </summary>
 /// <param name="rebalancingDateRules">The date rules used to define the next expected rebalance time
 /// in UTC</param>
 public EqualWeightingPortfolioConstructionModel(IDateRule rebalancingDateRules)
     : this(rebalancingDateRules.ToFunc())
 {
 }
 /// <summary>
 /// Initialize a new instance of <see cref="SectorWeightingPortfolioConstructionModel"/>
 /// </summary>
 /// <param name="rebalancingDateRules">The date rules used to define the next expected rebalance time
 /// in UTC</param>
 public SectorWeightingPortfolioConstructionModel(IDateRule rebalancingDateRules)
     : base(rebalancingDateRules.ToFunc())
 {
 }
Ejemplo n.º 5
0
 public TestPortfolioConstructionModel(IDateRule dateRule)
     : this(dateRule.ToFunc())
 {
 }
 /// <summary>
 /// Initialize a new instance of <see cref="EqualWeightingPortfolioConstructionModel"/>
 /// </summary>
 /// <param name="rebalancingDateRules">The date rules used to define the next expected rebalance time
 /// in UTC</param>
 /// <param name="portfolioBias">Specifies the bias of the portfolio (Short, Long/Short, Long)</param>
 public EqualWeightingPortfolioConstructionModel(IDateRule rebalancingDateRules,
                                                 PortfolioBias portfolioBias = PortfolioBias.LongShort)
     : this(rebalancingDateRules.ToFunc(), portfolioBias)
 {
 }
 /// <summary>
 /// Initialize a new instance of <see cref="AccumulativeInsightPortfolioConstructionModel"/>
 /// </summary>
 /// <param name="rebalancingDateRules">The date rules used to define the next expected rebalance time
 /// in UTC</param>
 /// <param name="portfolioBias">Specifies the bias of the portfolio (Short, Long/Short, Long)</param>
 /// <param name="percent">The percentage amount of the portfolio value to allocate
 /// to a single insight. The value of percent should be in the range [0,1].
 /// The default value is 0.03.</param>
 public AccumulativeInsightPortfolioConstructionModel(IDateRule rebalancingDateRules,
                                                      PortfolioBias portfolioBias = PortfolioBias.LongShort,
                                                      double percent = 0.03)
     : this(rebalancingDateRules.ToFunc(), portfolioBias, percent)
 {
 }