# Intro

In his 1974 article “Imputing Expected Security Returns From Portfolio Composition”, William Sharpe (inventor of the Sharpe Ratio) describes a forecasting method that can construct expected returns from the composition of any portfolio. Using this method, Omega Point generates a forecast for every position in a portfolio by calculating a position's risk relative to its % equity.

This forecast is commonly used as a “hurdle rate” which describes the expected return required to hold a position at its current weight given its risk. Omega Point makes the forecast available through the API using the query.model.portfolio.forecast.impliedReturns & the query.model.simulation.forecast.impliedReturns node.

## Query

query(

$modelId: String!

$portfolioId: String!

$onDate: Date!

$horizon: Int! #number of trading days

){

model(id: $modelId){

portfolio(id: $portfolioId){

forecast(on: $onDate horizon: $horizon){

impliedReturns(riskFactors:MARKET){

horizon

total

equities{

id {

ticker

mic

sedol

modelProviderId

}

expectedPercentReturn

}

}

}

}

}

}

This query returns a forecast for the time period defined by $horizon, for all the securities in your portfolio, as well as the portfolio's expected return. Here is a sample forecast for a portfolio with only two securities (AAPL & MSFT):

{

"data": {

"model": {

"portfolio": {

"forecast": {

"impliedReturns": {

"horizon": 10,

"total": 1.1982142572179923,

"equities": [

{

"id": {

"ticker": "AAPL",

"mic": "XNAS"

},

"expectedPercentReturn": 0.8387499800525946

},

{

"id": {

"ticker": "MSFT",

"mic": "XNAS"

},

"expectedPercentReturn": 0.3594642771653977

}

]

}

}

}

}

}

}

In this case, the forecasted 10-day return for AAPL and MSFT are 0.839% and 0.359%, respectively. And the portfolio's total expected return is 1.198%.

# Implied Returns for Optimization

The calculated implied returns for the portfolio are used with the Omega Point Optimizer as forecasts to create an efficient frontier. Using the objective `minimizeTotalRisk: true`

produces the minimum (risk,return) value, while using the objective `targetTotalRisk: 10000`

* will produce the highest (risk,return) value on the frontier.

*Or some arbitrary large number to represent infinity, since if the provided target risk is above the risk of the maximum return portfolio, then the maximum return portfolio is returned.

**Market Factor and Implied Returns**

While using the implied returns from the portfolio as alpha in the optimizer seems to suggest that this portfolio is already optimal, when calculating implied alphas, we assume the portfolio was optimized using a risk model that only had the market factor, and all other volatility is treated as idiosyncratic volatility. This way, when using the optimizer, the portfolio is re-optimized with the full factor model.

This is denoted in the API as

impliedReturns(riskFactors:MARKET)

# Calculation per security

The Implied Return for each security is given the weight of the security in the portfolio. Using weight as a proxy for conviction, the forecast is calculated for each security in the following manner:

`implied_return = (1 / std) * ( sec_risk^2 * sec_weight )`

where a security's risk is calculated as:

`risk = std(sec_return over last 252 days) * sqrt(252)`

and where std and returns are derived as

`std = sqrt(variance) ==>`

variance = sum( (sec_risk * sec_weight)^2 ) #summing over all securities

`sec_return = sec_1DayReturn - mean(all_1DayReturns) `

where the mean is over all securities in the portfolio on the same day and where the return is for each security in the portfolio.