Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Create value-weighted decile portfolios

    I want to build Dezil portfolios based on the last observed values of the respective calendar year for the variable "MV". So I want to compare the variable "MV" across all ISIN's (International Securities Identification Number) every 31. December and then build the Dezil portfolios by size. Then I want to assign the Dezil portfolios their corresponding returns so that I can calculate the returns of the weighted portfolios. I have already worked with the following code trying to do this:

    Code:
    bys ISIN month(`12'):astile gen MV10=MV, nq(10)


    However, I got the following error message:

    Code:
    genes MV10 invalid name
    st_addvar(): 3300 argument out of range
    fastile(): - function returned error
    <istmt>: - function returned error

    Then, when the Dezil portfolios stand, I want to assign the Dezil portfolios their associated returns so that I can calculate the return on the weighted portfolios. The weighting should be value-based. The return of each of the companies should therefore be in relation to the "MV" of the Dezil portfolio. I used the following code to calculate my returns:

    Code:
    gen time=_n
    bysort ISIN(Date): gen Return = (RI[_n]-RI[_n-1])/RI[_n-1]

    My .dta document looks like this:


    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input int Date str15 ISIN double(RI MV) byte _merge float(time Return)
     9162 "DE0001218063" .n .n 3   1 .
     9190 "DE0001218063" .n .n 3   2 .
     9219 "DE0001218063" .n .n 3   3 .
     9251 "DE0001218063" .n .n 3   4 .
     9282 "DE0001218063" .n .n 3   5 .
     9310 "DE0001218063" .n .n 3   6 .
     9343 "DE0001218063" .n .n 3   7 .
     9373 "DE0001218063" .n .n 3   8 .
     9404 "DE0001218063" .n .n 3   9 .
     9435 "DE0001218063" .n .n 3  10 .
     9464 "DE0001218063" .n .n 3  11 .
     9496 "DE0001218063" .n .n 3  12 .
     9527 "DE0001218063" .n .n 3  13 .
     9555 "DE0001218063" .n .n 3  14 .
     9586 "DE0001218063" .n .n 3  15 .
     9616 "DE0001218063" .n .n 3  16 .
     9646 "DE0001218063" .n .n 3  17 .
     9677 "DE0001218063" .n .n 3  18 .
     9708 "DE0001218063" .n .n 3  19 .
     9737 "DE0001218063" .n .n 3  20 .
     9769 "DE0001218063" .n .n 3  21 .
     9800 "DE0001218063" .n .n 3  22 .
     9828 "DE0001218063" .n .n 3  23 .
     9861 "DE0001218063" .n .n 3  24 .
     9891 "DE0001218063" .n .n 3  25 .
     9919 "DE0001218063" .n .n 3  26 .
     9951 "DE0001218063" .n .n 3  27 .
     9981 "DE0001218063" .n .n 3  28 .
    10010 "DE0001218063" .n .n 3  29 .
    10042 "DE0001218063" .n .n 3  30 .
    10073 "DE0001218063" .n .n 3  31 .
    10104 "DE0001218063" .n .n 3  32 .
    10134 "DE0001218063" .n .n 3  33 .
    10164 "DE0001218063" .n .n 3  34 .
    10195 "DE0001218063" .n .n 3  35 .
    10226 "DE0001218063" .n .n 3  36 .
    10255 "DE0001218063" .n .n 3  37 .
    10286 "DE0001218063" .n .n 3  38 .
    10317 "DE0001218063" .n .n 3  39 .
    10346 "DE0001218063" .n .n 3  40 .
    10378 "DE0001218063" .n .n 3  41 .
    10408 "DE0001218063" .n .n 3  42 .
    10437 "DE0001218063" .n .n 3  43 .
    10470 "DE0001218063" .n .n 3  44 .
    10500 "DE0001218063" .n .n 3  45 .
    10531 "DE0001218063" .n .n 3  46 .
    10561 "DE0001218063" .n .n 3  47 .
    10591 "DE0001218063" .n .n 3  48 .
    10623 "DE0001218063" .n .n 3  49 .
    10651 "DE0001218063" .n .n 3  50 .
    10682 "DE0001218063" .n .n 3  51 .
    10710 "DE0001218063" .n .n 3  52 .
    10743 "DE0001218063" .n .n 3  53 .
    10773 "DE0001218063" .n .n 3  54 .
    10804 "DE0001218063" .n .n 3  55 .
    10835 "DE0001218063" .n .n 3  56 .
    10864 "DE0001218063" .n .n 3  57 .
    10896 "DE0001218063" .n .n 3  58 .
    10926 "DE0001218063" .n .n 3  59 .
    10955 "DE0001218063" .n .n 3  60 .
    10988 "DE0001218063" .n .n 3  61 .
    11016 "DE0001218063" .n .n 3  62 .
    11046 "DE0001218063" .n .n 3  63 .
    11077 "DE0001218063" .n .n 3  64 .
    11108 "DE0001218063" .n .n 3  65 .
    11137 "DE0001218063" .n .n 3  66 .
    11169 "DE0001218063" .n .n 3  67 .
    11200 "DE0001218063" .n .n 3  68 .
    11228 "DE0001218063" .n .n 3  69 .
    11261 "DE0001218063" .n .n 3  70 .
    11291 "DE0001218063" .n .n 3  71 .
    11322 "DE0001218063" .n .n 3  72 .
    11353 "DE0001218063" .n .n 3  73 .
    11381 "DE0001218063" .n .n 3  74 .
    11410 "DE0001218063" .n .n 3  75 .
    11442 "DE0001218063" .n .n 3  76 .
    11473 "DE0001218063" .n .n 3  77 .
    11501 "DE0001218063" .n .n 3  78 .
    11534 "DE0001218063" .n .n 3  79 .
    11564 "DE0001218063" .n .n 3  80 .
    11595 "DE0001218063" .n .n 3  81 .
    11626 "DE0001218063" .n .n 3  82 .
    11655 "DE0001218063" .n .n 3  83 .
    11687 "DE0001218063" .n .n 3  84 .
    11718 "DE0001218063" .n .n 3  85 .
    11746 "DE0001218063" .n .n 3  86 .
    11778 "DE0001218063" .n .n 3  87 .
    11808 "DE0001218063" .n .n 3  88 .
    11837 "DE0001218063" .n .n 3  89 .
    11869 "DE0001218063" .n .n 3  90 .
    11900 "DE0001218063" .n .n 3  91 .
    11931 "DE0001218063" .n .n 3  92 .
    11961 "DE0001218063" .n .n 3  93 .
    11991 "DE0001218063" .n .n 3  94 .
    12022 "DE0001218063" .n .n 3  95 .
    12053 "DE0001218063" .n .n 3  96 .
    12082 "DE0001218063" .n .n 3  97 .
    12110 "DE0001218063" .n .n 3  98 .
    12143 "DE0001218063" .n .n 3  99 .
    12173 "DE0001218063" .n .n 3 100 .
    end
    format %tdnn/dd/CCYY Date
    label values _merge _merge
    label def _merge 3 "matched (3)", modify
Working...
X