Allmänt meddelande

Collapse
No announcement yet.

Signaler mellan depåer

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

  • Signaler mellan depåer

    Hej!
    Jag har köpt Obi-Wan som ger köp och säljsignaler för terminer till min aktiedepå.
    Man kan ju inte handla med terminer i sin kapitalförsäkringsdepå men däremot med BULL OMX och BEAR OMX med hävstång upp till 4 gånger. Jag skulle nu vilja ha ett script som känner av handeln av terminer i aktiedepå A och köper BULL resp BEAR i aktiedepå B (kapitalförsäkring) enligt följande regler:
    Fall I
    a) Om termin köps från 0 antal i depå A så köp Bull OMX i depå B
    b) Om termin säljs från positivt antal till 0 i depå A sälj Bull OMX i depå B
    c) Om termin säljs från 0 antal i depå A (blankas) så köp Bear OMX i depå B
    d) Om termin köps från negativt antal till 0 i depå A sälj Bear OMX i depå B
    Det kan bli problem med avkänningen av antal i depå om b & c respektive d & a sker i ett steg.

    Fall II har egna sälj och stoplossregler endast köpsignalerna används(överkurs)
    a) Om termin köps från 0 antal i depå A så köp Bull OMX i depå B (förutsatt att antal är 0 i depå B)
    b) Om termin säljs från positivt antal i depå A gör ingenting (har egen take profit och stoploss)
    c) Om termin säljs från 0 antal i depå A (blankas) så köp Bear OMX i depå B (förutsatt att antal är 0 i depå B)
    d) Om termin köps från minus antal i depå A så gör ingenting (har egen take profit och stoploss)


    Man kan ju använda globala parametrar, men vet inte hur man kan gå mellan depåerna.

  • #2
    Tror ni denna idé fungerar?
    Till OMX Bull ansluter jag skriptet Obi-Wan köpantal och i ordermodellen Obi-Wan long resp Obi-Wan Exit Long.

    Till OMX Bear ansluter jag skriptet Obi-Wan blankantal,fast istället för att ange negativt antal skriver jag positivt antal. I ordermodellen kopplar jag Obi-Wan short resp Obi-Wan Exit Short.

    Om jag vill ha egen Stoplossmini + Take Profit ansluter jag dessa istället för Exit.

    Comment


    • #3
      Hm. Fungerar inte rakt av. Eftersom antal skrivs in direkt i scriptet så blir antalet samma för alla poster man kopplar till. Jag vill ju bara köpa 1 st termin i min aktiedepå vilket gör att jag bara kan köpa en Bull OMX ETF i min kapitalförsäkringsdepå. Jag vill ju att de skall vara oberoende. Hur göra?

      Comment


      • #4
        Jag har inte kört modellen. Det kanske går om du bygger separata modeller för bear o bull med samma sl-script och olika antalsscript. Om modellen handlar ofta kan spreaden och

        slippen äta upp det du tjänar i skatt. Det ända sättet är att prova.

        Comment


        • #5
          Så här ser scriptet ut för köp:
          köpantal:=1
          innehav:=Portfolio(v)
          i1(
          övermål=Ge(innehav,köpantal)
          slutantal1=If(övermål,0,SUB(köpantal,innehav))
          slutantal1)

          Så här ser det ut för blanka:
          blankantal:=-1
          innehav:=Portfolio(v)
          i1(
          undermål=Le(innehav,blankantal)
          slutantal=Abs(If(undermål,0,Sub(blankantal,innehav)))
          slutantal)

          Nytt förslag för blanka termin eller köpa bear
          Om man istället använder fält 23 för att ange antal, positivt för köp negativt för blanka

          antal:=ScrPar(23)
          köpantal:=IF((GE(antal,0)),antal,0)
          blankantal:=IF((LE(antal,0)),antal,0)
          innehav:=Portfolio(v)
          i1(
          övermål=Ge(innehav,köpantal)
          slutantal1=If(övermål,0,SUB(köpantal,innehav))
          slutantal1)
          i1(
          undermål=Le(innehav,blankantal)
          slutantal=Abs(If(undermål,0,Sub(blankantal,innehav)))
          slutantal)


          Och för köpa bull eller termin

          köpantal:=ScrPar(22)
          innehav:=Portfolio(v)
          i1(
          övermål=Ge(innehav,köpantal)
          slutantal1=If(övermål,0,SUB(köpantal,innehav))
          slutantal1)

          Comment


          • #6
            Det finns ju ett enkelt sätt (relativt i alla fall):

            Anslut följande till terminen på aktiedepån:

            setgvarif(portfoliio(v),400,1)


            så får du ett värde på antal kontrakt som finns på aktiedepån. Det värdet kan läsas av från script kopplade till Bull och Bear. Där finns script som lägger order på motsvarande sätt:


            status:=getgvar(400)
            innehav_noll:=le(portfolio(v),0)
            köpsignal:=and(gt(status,0),innehav_noll)


            villket köper Bull om det finns en termin på aktiedepån. För att sälja Bull när terminen inte längre finns:

            status:=getgvar(400)
            innehav:=gt(portfolio(v),0)
            säljsignal:=and(le(status,0),innehav)



            Gör motsvarande script för Bear, så kan dessa slavstyras av innehavet på aktiedepån.

            Comment


            • #7
              Hej igen!
              Jag fick göra en justering i modifierade scriptet. Mitt förslag triggar ju direkt på Obi-Wan så man behöver inte vänta på att terminen köpts (sparar säkert många viktiga sekunder). Dessutom kan man använda det direkt på Bull och Bear utan att behöva köpa terminen. (Tack till Rikard för den alternativa lösningen men jag är ju en novis och känner mig mer hemma med nedanstående, om det nu fungerar)

              Använd fält 23 för att ange antal, positivt för köp Bear negativt för blanka termin

              antal:=ScrPar(23)
              köpantal:=IF((GE(antal,0)),antal,0)
              blankantal:=IF((LE(antal,0)),antal,0)
              innehav:=Portfolio(v)
              i1(
              övermål=Ge(innehav,köpantal)
              slutantal1=If(övermål,0,SUB(köpantal,innehav))
              slutantal1)
              i1(
              undermål=IF(EQV(blankantal,0),1,Le(innehav,blankantal))
              slutantal=Abs(If(undermål,0,Sub(blankantal,innehav)))
              slutantal)


              Och för köpa bull eller termin

              köpantal:=ScrPar(22)
              innehav:=Portfolio(v)
              i1(
              övermål=Ge(innehav,köpantal)
              slutantal1=If(övermål,0,SUB(köpantal,innehav))
              slutantal1)

              OBS jag har inte testat koden ännu !!

              Comment


              • #8
                Jag menade följande:

                Ordermodell_nr_1=LongBull, typ=köp, sl-script=long
                Ordermodell_nr_2=ExitLongBull1, typ=sälj, sl-script=exit_long
                Ordermodell_nr_3=ExitLongBull2, typ=sälj, sl-script=short

                Ordermodell_nr_4=LongBear, typ=köp, sl-script=short
                Ordermodell_nr_5=ExitLongBear1, typ=Sälj, sl-script=exit_short
                Ordermodell_nr_6=ExitLongBear2, typ=sälj, sl-script=long

                Då räcker det med ett va-script för alla ordermodeller typ long(om samma antal för long resp short). I ordermodellerna för exit scripten är målantal=0.

                Jag använder inte denna modell så Rikard kanske kan bekräfta om det fungerar.

                Comment


                • #9
                  Problemet är ju att originalscriptet siktar på ett negativt innehav för terminen, men för att köra XACT Bear måste triggerscriptet ha ett villkor som stänger signalen om ett positivt innehav bildas. Enda lösningen som jag ser är att läsa av terminsinnehavet och skicka order för XACT utifrån det, alternativt att Rankor går med på att vi erbjuder en XACT-version av ObiWan. Signaleringen på deras sida ändras ju inte, utan det är bara de lokala ordermodellerna hos kund som behöver göras om.

                  Comment


                  • #10
                    Hej igen!
                    Jag vet ju inte riktigt hur signalen kommer in från Obi-Wan, men om signaleringen bara innebär att man kör scriptet så har jag tagit hand om de olika fallen i mitt modifierade script ovan.
                    I scriptet "ObiWan köpantal" är enda ändringen att jag lagt antalet i ScrPar(22). Kopplar man detta script både mot Bull OMX X4 och termin kan man ha olika antal för varje papper. Detta måste väl vara helt OK. Terminen kopplar jag enligt regelboken men Bull OMX tänkte jag förutom "Obi-Wan köpantal" sedan även koppla till "Stoplossmini long" och "Take profit long" samt "Larm strax innan stängning".

                    Original "ObiWan köpantal":
                    köpantal:=1
                    innehav:=Portfolio(v)
                    i1(
                    övermål=Ge(innehav,köpantal)
                    slutantal1=If(övermål,0,SUB(köpantal,innehav))
                    slutantal1)
                    +++++++++
                    Modifierad "ObiWan köpantal":
                    köpantal:=ScrPar(22)
                    innehav:=Portfolio(v)
                    i1(
                    övermål=Ge(innehav,köpantal)
                    slutantal1=If(övermål,0,SUB(köpantal,innehav))
                    slutantal1)
                    +-+-+-++-+-+-+-
                    Original "ObiWan blankantal":
                    blankantal:=-1
                    innehav:=Portfolio(v)
                    i1(
                    undermål=Le(innehav,blankantal)
                    slutantal=Abs(If(undermål,0,Sub(blankantal,innehav)))
                    slutantal)
                    ------------------
                    Modifierad "ObiWan blankantal":
                    antal:=ScrPar(23)
                    köpantal:=IF((GE(antal,0)),antal,0)
                    blankantal:=IF((LE(antal,0)),antal,0)

                    innehav:=Portfolio(v)
                    i1(
                    övermål=Ge(innehav,köpantal)
                    slutantal1=If(övermål,0,SUB(köpantal,innehav))
                    slutantal1)
                    i1(
                    undermål=IF(EQV(blankantal,0),1,Le(innehav,blankantal))
                    slutantal=Abs(If(undermål,0,Sub(blankantal,innehav)))
                    slutantal)
                    ---------------

                    Om ScrPar(23) innehåller ett positivt tal innebär det att jag vill köpa och inte blanka. Då går ju slutantal1 aktiv som köper Bear som jag har kopplat. Scriptet är då helt identiskt med köp (termin) fast triggas på short.
                    (slutantal som används vid blankning sätts till 0 och påverkas inte).
                    Har jag istället kopplat scriptet mot en termin så skriver jag ett negativ tal i ScrPar(23). Då blankas terminen på vanligt sätt med slutantal.
                    Jag har gått igenom de olika fallen som kan förekomma med negativt och positivt antal i depån mm och tror att mina kontrollvillkor tar hand om allt.

                    Comment


                    • #11
                      Hej!
                      Tror att detta blir bättre
                      Modifierad "ObiWan blankantal":
                      antal:=ScrPar(23)
                      köpantal:=IF((GE(antal,0)),antal,0)
                      blankantal:=IF((LE(antal,0)),antal,0)

                      innehav:=Portfolio(v)
                      i1(
                      övermål=IF(EQV(köpantal,0),1,Le(Ge(innehav,köpantal))
                      slutantal1=If(övermål,0,SUB(köpantal,innehav))
                      slutantal1)
                      i1(
                      undermål=IF(EQV(blankantal,0),1,Le(innehav,blankantal))
                      slutantal=Abs(If(undermål,0,Sub(blankantal,innehav)))
                      slutantal)

                      Nu tvingas slutantal1 till 0 då ScrPar(23) är negativ.

                      Comment


                      • #12
                        Ursprungligen postat av Rikard Nilsson Visa inlägg
                        Problemet är ju att originalscriptet siktar på ett negativt innehav för terminen, men för att köra XACT Bear måste triggerscriptet ha ett villkor som stänger signalen om ett positivt innehav bildas. Enda lösningen som jag ser är att läsa av terminsinnehavet och skicka order för XACT utifrån det, alternativt att Rankor går med på att vi erbjuder en XACT-version av ObiWan. Signaleringen på deras sida ändras ju inte, utan det är bara de lokala ordermodellerna hos kund som behöver göras om.

                        Jovisst kan vi erbjuda en XACT-version av ObiWan. Egentligen hade vi tänkt ett långsammare trading-system för XACT, men intraday borde ju fungera också, bara signaleringen går snabbt ut till kund.

                        Rikard, hur går vi tillväga för att gå igång med XACT? Tidigare har du ju sagt att det ej kräver någon extra programmering hos Rankor System, däremot behöver Autostock förändra era server-nat script då positionen måste nettas innan nästa trade.

                        Jörgen
                        Rankor System

                        Comment


                        • #13
                          Signalerna behöver inte ändras på systemsidan, vi kan helt enkelt använda samma signalkoder men låta de lokala ordermodellerna handla XACT istället för terminen. Det är inga problem att bygga om det. ObiWan har ju relativt få avslut så slippage borde inte bli avgörande förutsatt att man inte handlar just när spreaden är som sämst hos ETFerna. Vi har redan provkört lokala script för Tracker som mäter spreaden och väntar med order tills spreaden är normaliserad igen. Vi kan tillämpa samma teknik här.

                          Comment

                          Working...
                          X