“Inertia Benchmarks”: Prudent management or couch potato strategy

Aug 4th, 2010 | Filed under: Performance, Analytics & Metrics, Today's Post | By: Alpha Male
  • LinkedIn
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Digg
  • Reddit
  • NewsVine
  • Propeller
  • Yahoo! Buzz

The Economist’s Buttonwood column this week highlights an interesting paper by Shahin Shojai of consultancy Capco, George Feiger of Contago Capital and Rajesh Kumar of the Institute of Management Technology in Dubai.  The paper essentially lambastes active management by pointing out the lack of standardization in performance measurement.  As the trio laments,

“We find that very few, if any, portfolio managers look for the efficiency frontier in their asset allocation processes, mainly because it is almost impossible to locate in reality, and base their decisions on a combination of gut feelings and analyst recommendations.  We also find that the performance evaluation methodologies used are simply unable to provide investors with the necessary tools to compare portfolio managers’ performances in any meaningful way.”

More…


To continue reading this article please login (at the right) or click here to learn more about accessing our archives.

Related Posts

  1. Performance measurement for hedge funds with neural network derived benchmarks
  2. That’s quite a “distinctive” strategy…
  3. Passivity, Activity, and Alpha in Currency Management
  4. Asset Allocation: Management Style and Performance Measurement
  5. Investing in hedge funds in emerging markets: the “prudent approach”

5 comments
Leave a comment »

  1. This is conceptually similar to Ron Surz’s much underutilised Portfolio Opportunity Distribution (

  2. Thank you for kindly referring to our paper on your website. However, if you permit me, I would like to make some clarifications.

    The first is that if you read the paper itself, we state clearly that the inertia concept will/should not replace other models. It would simply be a complimentary tool to the other methods used to evaluate performance of managers. We are simply suggesting that it’s a useful tool for allowing people to do a quick back of the envelope analysis of just how bad or good their manager performed.

    Second, what the person who wrote the commentary failed to take into account is that even if you manipulate your portfolio on January 1st, and as a result have a better return for that year, since that portfolio will also be the one you had on December 31st of the previous year, your compensation for the previous year would suffer.

    Finally, we do not condone annual analysis, but sadly that’s how the industry evaluates performance and pays compensation. So, what you suggest is wrong with the inertia model would also hold for other models too.

    More importantly, what we say is that, and I have made it clear in the link below, there are situations where a manager’s end of year performance is bad because he simply wants to diversify a concentrated portfolio that made him a lot of money the year before. In that case, they need to simply explain what they did during the year to the client, and should hopefully find that their compensation is not significantly affected. Pls note that end of year performance does involve a good amount of discussion about decisions made during the year. It is not remotely as black and white as it’s made out in the piece on your site.

    http://www.hedgetracker.com/article/Redefining-Alpha-the-Inertia-Concept

    I hope that helps explain why we recommend the concept. But, once again, we do not suggest that it’s a replacement, but a useful companion in the toolset used by plan sponsors and clients who wish to understand what their managers did.

    Best regards,

    Shahin

    —————————————————————————————————————-
    Prof. Shahin Shojai, Ph.D.
    Global Head of Strategic Research, Capco
    Editor, Journal of Financial Transformation
    Director, NYU-Poly-Capco Institute Paper Series in Applied Finance
    Director, Cass-Capco Institute Paper Series on Risk

    Tel: +97 150 173 4619
    email: shahin.shojai@capco.com

  3. Important points. Thanks for bringing them to the discussion Shahin.

  4. One important issue that is typically missing from discussions of performance evaluation is the “significance level” and the amount of data needed to estimate a measure of performance with some degree of confidence. Sadly, the same short-coming arises in this context. That is, we do not know how many years of data one needs in order to state with some degree of confidence that the return from the static holding is different from the actual return. My suspicion is that is going to be many many years because the return distribution of static holdings will be time varying (i.e., the weights will change each year). Second, the idea of incorporating portfolio holdings into a measure of performance is not new. Comprehensive studies were done by Grinblatt and Titman (1989, Review of Financial Studies and 1993, Journal of Business), where they also discussed the issue of confidence level. And a more complete method of using portfolio holdings to measure portfolio performance was introduced by Andy Lo in “Where do Alphas Come From?: A Measure of the Value of Active Investment Management” (2008, Journal of Investment Management) [Ed: See related post, the 12th most popular at AllAboutAlpha.com in 2007]. Of course the elephant in the room is that most investors cannot observe the holdings of hedge funds and only those who use managed account platforms will have access to such information.

    Portfolio holdings, when available, do provide some information about the set of skills that the manager brings to the table. But as the authors write, it is just one piece of information and as the papers cite above show, it can be used a variety of ways.

    Prof. Hossein Kazemi,
    University of Massachusetts &
    the CAIA Association

  5. This is conceptually similar to Ron Surz’s much underutilised Portfolio Opportunity Distribution ( POD ) method whereby the return achieved is compared to the distribution of possible portfolio returns from the selection universe which importantly includes the holdings from the prior period as well as the current period. Below is a small UDF to calculate the range of returns for N random portfolios.

    ‘Function to generate Portfolio Opportunity Distribution Stats(PODS)
    ‘by Peter Urbani, KnowRisk Consulting 2004
    ‘can handle N instances of CLASS,SECTOR,SIZE,STYLE Types
    ‘uses function MyUniqueItems to build lists of types – place in seperate module

    Function POD5(QNTY, CLASS, SECTOR, SIZE, STYLE, RETS, LLimit, ULimit, ITS As Double)
    x = QNTY.Rows.Count

    ‘count how many classes,sectors,size,style types
    If IsMissing(CLASS) Then C1 = 0 Else C1 = MyUniqueItems(CLASS, 1) ‘Equities,Bonds,Cash,Foreign,Property
    If IsMissing(SECTOR) Then C2 = 0 Else C2 = MyUniqueItems(SECTOR, 1) ‘Resources,Financials,Industrials, detail
    If IsMissing(SIZE) Then C3 = 0 Else C3 = MyUniqueItems(SIZE, 1) ‘Large,Mid,Small,Micro
    If IsMissing(STYLE) Then C4 = 0 Else C4 = MyUniqueItems(STYLE, 1) ‘Value,Growth,Core,Other
    outsize = C1 + C2 + C3 + C4 + 1

    ‘dimension arrays to hold unique classes,sectors,size,style types
    Dim st1() As Variant ‘Class list
    Dim st2() As Variant ‘Sector list
    Dim st3() As Variant ‘Size list
    Dim st4() As Variant ‘Style list

    ReDim st1(C1) As Variant ‘redimension size of Class list
    ReDim st2(C2) As Variant ‘redimension size of Sector list
    ReDim st2(C3) As Variant ‘redimension size of Size list
    ReDim st2(C4) As Variant ‘redimension size of Style list

    ‘build list of unique classes,sectors,size,style types
    If IsMissing(CLASS) Then GoTo 10 Else st1() = MyUniqueItems(CLASS, 0)
    10 If IsMissing(SECTOR) Then GoTo 20 Else st2() = MyUniqueItems(SECTOR, 0)
    20 If IsMissing(SIZE) Then GoTo 30 Else st3() = MyUniqueItems(SIZE, 0)
    30 If IsMissing(STYLE) Then GoTo 40 Else st4() = MyUniqueItems(STYLE, 0)

    ‘Dimension an ITS x outsize array to hold random vector
    40 Dim BigArr() As Variant
    ReDim BigArr(ITS, outsize)

    ‘Dimension various arrays
    Dim SIMW() As Variant
    Dim REBALW() As Variant
    Dim TEMP1() As Variant
    Dim TEMP2() As Variant

    ‘resize arrays
    ReDim SIMW(x) As Variant
    ReDim REBALW(x) As Variant
    ReDim TEMP1(1) As Variant
    ReDim TEMP2(1) As Variant

    ‘Dimension an 5 x Outsize Output array to hold answer
    Dim out() As Variant
    ReDim out(8, outsize) As Variant

    ‘this order is to facilitate box and whisker plot
    out(0, 0) = “POD”
    out(1, 0) = “Mean”
    out(2, 0) = “Std Dev”
    out(3, 0) = “Q1″
    out(4, 0) = “Min”
    out(5, 0) = “Median”
    out(6, 0) = “Max”
    out(7, 0) = “Q3″
    out(0, 1) = “PORT”

    ‘Run model ITS times
    For i = 1 To ITS

    ‘initial values for counters
    TEMP1(1) = 0
    TEMP2(1) = 0
    S1 = 0
    S2 = 0

    ‘Generate random numbers between upper and lower limits
    For j = 1 To x
    Randomize
    SIMW(j) = (Int(ULimit(j) * Rnd()) + LLimit(j))
    S1 = SIMW(j) + TEMP1(1)
    TEMP1(1) = S1
    Next j

    ‘Rebalance weights to add to 100
    For K = 1 To x
    REBALW(K) = SIMW(K) / S1
    S2 = REBALW(K) + TEMP2(1)
    TEMP2(1) = S2
    Next K

    ‘use subfunctions to get values
    BigArr(i, 1) = MYSUMPRODUCT(RETS, REBALW) ‘TEMP3(1)

    ‘test for CLASS
    For n = 1 To C1
    If IsEmpty(st1(n)) Then GoTo 100
    BigArr(i, n + 1) = MYSUMPRODUCTIF(st1(n), CLASS, REBALW, RETS) ‘TEMP4(1) ‘SECTOR 1
    out(0, n + 1) = st1(n)
    100 Next n

    ‘test for SECTOR
    For o = 1 To C2
    If IsEmpty(st2(o)) Then GoTo 110
    BigArr(i, C1 + 1 + o) = MYSUMPRODUCTIF(st2(o), SECTOR, REBALW, RETS) ‘TEMP5(1) ‘SECTOR 2
    out(0, C1 + 1 + o) = st2(o)
    110 Next o

    ‘test for SIZE
    For p = 1 To C3
    If IsEmpty(st3(p)) Then GoTo 120
    BigArr(i, C1 + C2 + 1 + p) = MYSUMPRODUCTIF(st3(p), SIZE, REBALW, RETS) ‘TEMP6(1) ‘SECTOR 3
    out(0, C1 + C2 + 1 + p) = st3(p)
    120 Next p

    ‘test for STYLE
    For q = 1 To C4
    If IsEmpty(st3(q)) Then GoTo 130
    BigArr(i, C1 + C2 + C3 + 1 + q) = MYSUMPRODUCTIF(st4(q), STYLE, REBALW, RETS) ‘TEMP7(1) ‘SECTOR 1
    out(0, C1 + C2 + C3 + 1 + q) = st4(q)
    130 Next q

    ‘end of bigloop
    140 Next i

    ‘read random vector into FINARR perform calcs and write to out
    Dim FINARR() As Variant
    ReDim FINARR(ITS) As Variant

    For v = 1 To outsize
    For u = 1 To ITS
    FINARR(u) = BigArr(u, v)
    Next u
    a1 = WorksheetFunction.Average(FINARR)
    a2 = WorksheetFunction.StDevP(FINARR)
    a3 = WorksheetFunction.Quartile(FINARR, 3)
    a4 = WorksheetFunction.Min(FINARR)
    a5 = WorksheetFunction.Median(FINARR)
    a6 = WorksheetFunction.Max(FINARR)
    a7 = WorksheetFunction.Quartile(FINARR, 1)

    out(1, v) = a1
    out(2, v) = a2
    out(3, v) = a3
    out(4, v) = a4
    out(5, v) = a5
    out(6, v) = a6
    out(7, v) = a7

    Next v

    ‘(v,h)
    POD5 = out()

    End Function
    Function MYSUMPRODUCT(ARR1, ARR2)
    x = ARR1.Rows.Count
    Dim S() As Variant
    Dim Temp() As Variant
    ReDim S(x) As Variant
    ReDim Temp(1) As Variant
    Temp(1) = 0
    Count = 0
    For i = 1 To x
    S(i) = ARR1(i) * ARR2(i)
    Count = S(i) + Temp(1)
    Temp(1) = Count
    j = Temp(1) ‘Application.WorksheetFunction.Sum(S)
    Next i
    MYSUMPRODUCT = j
    End Function
    Function MYSUMPRODUCTIF(TGT, ARR1, ARR2, ARR3)
    x = ARR1.Rows.Count
    Dim S() As Variant
    Dim Temp() As Variant
    ReDim S(x) As Variant
    ReDim Temp(1) As Variant
    Temp(1) = 0
    Count = 0
    For i = 1 To x
    If ARR1(i) = TGT Then S(i) = ARR2(i) * ARR3(i) Else S(i) = 0
    Count = S(i) + Temp(1)
    Temp(1) = Count
    j = Temp(1) ‘Application.WorksheetFunction.Sum(S)
    Next i
    MYSUMPRODUCTIF = j
    End Function
    Function MYSUMIF(TGT, ARR1, ARR2)
    x = ARR1.Rows.Count
    Dim S() As Variant
    Dim Temp() As Variant
    ReDim S(x) As Variant
    ReDim Temp(1) As Variant
    Temp(1) = 0
    Count = 0
    For i = 1 To x
    If ARR1(i) = TGT Then S(i) = ARR2(i) Else S(i) = 0
    Count = S(i) + Temp(1)
    Temp(1) = Count
    j = Temp(1) ‘Application.WorksheetFunction.Sum(S)
    Next i
    MYSUMIF = j
    End Function

    Option Base 1

    Function MyUniqueItems(ArrayIn As Variant, Optional Count As Variant) As Variant
    ‘ Accepts an array or range as input
    ‘ If Count = True or is missing, the function returns the number
    ‘ of unique elements
    ‘ If Count = False, the function returns a variant array of unique
    ‘ elements

    Dim UNIQUE() As Variant ‘ array that holds the unique items
    Dim Element As Variant
    Dim i As Integer
    Dim FoundMatch As Boolean

    ‘ If 2nd argument is missing, assign default value
    If IsMissing(Count) Then Count = True

    ‘ Counter for number of unique elements
    NumUniques = 0

    ‘ Loop thru the input array
    For Each Element In ArrayIn
    FoundMatch = False

    ‘ Has item been added yet?
    For i = 1 To NumUniques
    If Element = UNIQUE(i) Then
    FoundMatch = True
    GoTo AddItem ‘(Exit For-Next loop)
    End If
    Next i

    AddItem:
    ‘ If not in list, add the item to unique list
    If Not FoundMatch Then
    NumUniques = NumUniques + 1
    ReDim Preserve UNIQUE(NumUniques)
    UNIQUE(NumUniques) = Element
    ‘Error trap for empty cells here
    If UNIQUE(NumUniques) = 0 Then ‘here
    NumUniques = NumUniques – 1
    End If
    End If ‘and here
    Next Element

    ‘ Assign a value to the function
    If Count Then MyUniqueItems = NumUniques Else MyUniqueItems = UNIQUE()
    End Function

Leave Comment

Tags: