Allmänt meddelande

Collapse
No announcement yet.

Viktade index av egna portföljer

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Viktade index av egna portföljer

    Hej,

    har någon en smart lösning på följande problem?

    Jag kör en sim i analysbänken i portföljläge med ett antal aktier som inte utgör ett existerande index (t.ex. OMXS30) utan bara är "slumpvis" valda. Låt oss kalla dem A, B, C, D, E

    Startpunkt i tid för simen ställs i analysbänken till X och stopp till Y, med startkapital Z

    Som bekant spottar detta ut resultatet f(ABCDE) i kronor och ören.

    Jag kan snabbt beräkna avkastningen på kapitalet till f(ABCDE) / Z

    Vad jag är intresserad av är alternativkostnaden, i det här fallet resultatet av ett viktat index med de aktierna under den tidsperioden med jämnt distribuerat startkapital över alla aktier. Säg att startkapitalet är 1M och simen går från 1/1-18 till 1/1-19, så vill jag veta vad följande blir:

    200 tkr * ((aktiepris(A, 2019-01-01)) - (aktiepris(A, 2018-01-01))) +
    200 tkr * ((aktiepris(B, 2019-01-01)) - (aktiepris(B, 2018-01-01))) +
    200 tkr * ((aktiepris(C, 2019-01-01)) - (aktiepris(C, 2018-01-01))) +
    200 tkr * ((aktiepris(D, 2019-01-01)) - (aktiepris(D, 2018-01-01))) +
    200 tkr * ((aktiepris(E, 2019-01-01)) - (aktiepris(E, 2018-01-01)))

    Jag kan naturligtvis räkna ut allting manuellt vilket är jobbigt och framför allt inte lånar sig till snabba förändringar och experiment. Vilka av följande parametrar ovan kan jag kontrollera dynamiskt, och hur?

    Specifikt:

    1. Kan jag hämta start och stopp-datum för simuleringen in i scriptet?
    2. Kan jag hämta samtliga valda instrument för simuleringen in i scriptet?

    Storleken på testkontot borde väl gå att få ut med cash-funktionen antar jag.

    Tacksam för alla tips.
    Last edited by Steelmind; 2019-01-29, 17:32.

  • #2
    På fråga 1
    Kan jag hämta start och stopp-datum för simuleringen in i scriptet?
    svarar jag nej, men man kan göra tvärt om.
    I scriptet lägger man datumvillkor från när det får börja handla och när det skall sluta handla.

    Fråga 2
    Kan jag hämta samtliga valda instrument för simuleringen in i scriptet?
    Varje instrument har ju ett crid och i scriptet kan du ha villkor på vilket instrument som det får handla. Tex om kassan är över X kr så får det handla instrument A annars inte.

    mvh
    Bertil

    Comment


    • #3
      Ursprungligen postat av Bertil Visa inlägg
      På fråga 1
      Kan jag hämta start och stopp-datum för simuleringen in i scriptet?
      svarar jag nej, men man kan göra tvärt om.
      I scriptet lägger man datumvillkor från när det får börja handla och när det skall sluta handla.

      Fråga 2
      Kan jag hämta samtliga valda instrument för simuleringen in i scriptet?
      Varje instrument har ju ett crid och i scriptet kan du ha villkor på vilket instrument som det får handla. Tex om kassan är över X kr så får det handla instrument A annars inte.

      mvh
      Bertil
      Hej,

      tack för svar

      Smart lösning på fråga 1, det kommer säkert fungera kanon.

      På fråga 2 är frågan snarare än vad som får handlas, vad som simuleras. Om jag t.ex. väljer ERIC B, AZN, ASSA i analysbänken - finns det något sätt som scriptet kan identifiera att jag simulerar just dessa 3 aktier (och räkna ut index bara för dem?)?

      Annars har jag kommit på en nödlösning till problemet som är att skriva ett rent index-script och köra det innan jag byter till de andra riktiga köp och sälj, men jag vet inte om alla parametrar och extrascript ryker då. Plus att det är osnyggt.

      Men ska testa 1. ovan till att börja med, tack igen

      Comment


      • #4
        Jag förstår inte exakt vad du vill göra mer än att räkna ett index baserat på de aktier som är med i simuleringen/handeln.

        Det finns bara rum för tre extraobjekt i ett sctipt. Vill du använda den metoden får du skapa flera script/modeller och sammanställa i ett av dem.

        Annars kan du ta fram crcid() genom att köra en simulering där varje aktie triggar en gång. Körningen ska då ha med en extrakolumn som visar crcid() vid affär. Sedan kan du använda celler i det vanliga scriptet:
        SetGvarIf("vad du vill lägga in",100,eqv(crcid(),11111111))
        SetGvarIf("vad du vill lägga in",101,eqv(crcid(),123323k2))
        osv.

        Detta skulle gå att göra dynamiskt i det vanliga scriptet, men det lämnar jag för nu. Vill bara visa exempel hur du kan göra.
        Last edited by Henric; 2019-01-29, 20:04.

        Comment


        • #5
          Ursprungligen postat av Henric Visa inlägg
          Jag förstår inte exakt vad du vill göra mer än att räkna ett index baserat på de aktier som är med i simuleringen/handeln.

          Det finns bara rum för tre extraobjekt i ett sctipt. Vill du använda den metoden får du skapa flera script/modeller och sammanställa i ett av dem.

          Annars kan du ta fram crcid() genom att köra en simulering där varje aktie triggar en gång. Körningen ska då ha med en extrakolumn som visar crcid() vid affär. Sedan kan du använda celler i det vanliga scriptet:
          SetGvarIf("vad du vill lägga in",100,eqv(crcid(),11111111))
          SetGvarIf("vad du vill lägga in",101,eqv(crcid(),123323k2))
          osv.

          Detta skulle gå att göra dynamiskt i det vanliga scriptet, men det lämnar jag för nu. Vill bara visa exempel hur du kan göra.
          Intressant. Det testar jag. Tusen tack.

          Comment

          Working...
          X