Allmänt meddelande

Collapse
No announcement yet.

Enkel trend strategi

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

  • Enkel trend strategi

    Hej!

    Jag är relativt ny på teknisk analys varvid min tanke är att börja med en väldigt enkel strategi som jag förstår, för att senare bygga ut den med fler indikatorer.

    Strategin är en klassisk två glidande medelvärde strategi, ett snabbare och ett långsammare. När det snabba medelvärdet går ovanför det långsamma => generera köpsignal, och när det snabba går under det långsamma => generera säljsignal.

    Klassiskt är väl att använda 50 för det långsamma och 21 för det snabba. Men min tanke är att det är för generellt och varje aktie är lite unik varvid jag tror att det finns bättre värden för de glidande medelvärdena.

    Just nu har jag ett Python script som testar alla möjliga kombinationer (Det tar en halv dag att generera dessa på OMXS30 aktier)av dessa två glidande medelvärde över en tidsperiod (Jag har nu valt sen 2015-01-01, men det kan man välja hur man vill) för att se vilka värden som ger bäst avkastning över tid.

    Simuleringarna visar god avkastning över tid, och används hävstång i form av t.ex. minifutures ser det väldigt bra ut.

    Tanken är nu att Python scriptet skall skicka in köp och säljsignal till Autostock (Jag har bas varianten) och sedan koppla ETP link och handla mini futures istället för aktier. Främst för att mycket av strategin bygger på att man kan "blanka" genom att köpa mini future short.

    Nästa steg blir att lägga till en oscillator av något slag. Har ni någon rekommendation på vilken oscillator som generellt fungerar bra tillsammans med glidande medelvärden?

    Nedan är resultatet av Python scriptet om någon vill testa själv. "Nollade" rader innebär att Python scriptet inte hittade ett bättre alternativ än att köpa och behålla.

    OMXS30

    1 9 ABB.ST
    31 89 ALFA.ST
    4 8 ALIV-SDB.ST
    0 0 0
    47 182 ATCO-B.ST
    1 4 AZN.ST
    2 27 BOL.ST
    23 33 ELUX-B.ST
    46 116 ERIC-B.ST
    47 56 ESSITY-B.ST
    2 4 GETI-B.ST
    0 0 0
    4 8 HM-B.ST
    1 35 INVE-B.ST
    1 9 KINV-B.ST
    3 5 NDA-SE.ST
    10 40 SAND.ST
    0 0 0
    7 9 SEB-A.ST
    7 9 SECU-B.ST
    48 52 SHB-B.ST
    19 23 SKA-B.ST
    41 43 SKF-B.ST
    12 18 SSAB-A.ST
    1 6 SWED-A.ST
    31 42 SWMA.ST
    22 160 TEL2-B.ST
    15 22 TELIA.ST
    1 5 VOLV-B.ST

    Har ni några synpunkter är det välkommet!

  • #2
    Hej David!
    Välkommen till börsscriptargänget! Du verkar ju har fått till en bra simuleringsmiljö i Python och får in end of day data på något sätt från de aktier du är intresserad av. Lite råd i all välmening:

    1) Kör på bara med dina simuleringar! Ta fram egna (och andras) indikatorer. Testa polynomanpassning och ickelinjära funktioner. Var inte begränsad av vad andra redan har gjort, för i så fall skulle det finnas ett facit som alla använder sig av.
    2) Börsrörelserna är "geometriska".
    3) Enskilda aktier påverkas i hög grad av makro som påverkar index generellt.
    4) Börsrörelserna är inte lika över tid, dvs olika börsklimat bör ha olika regler för trading.
    5) Det är mycket viktigt att vinstgenereringen skall vara jämn över tid och att förlusterna, såväl realiserade som orealiserade skall vara hanterbara.
    6) Handelsfrekvensen som din strategi jobbar med måste stämma överens med hur du själv vill handla. Det funkar inte om man själv skulle vilja göra 5 affärer per dag och strategin vill göra en affär i månaden. Leder till frustration.
    7) Underskatta inte rörelserna intradag, som kan vara mycket stora.
    8) Skaffa gärna AutotraderPro för lättare simulering intradag.

    mvh
    Bertil


    Edit: Ett exempel på adaptiv strategi är att du kontinuerligt optimerar medelvärdeskurvorna för de senaste xxx dagarna.
    Last edited by Bertil; 2020-03-07, 13:14.

    Comment


    • #3
      Jag tror det blir svårt att kunna via python skicka in värdena till Autostock, men om du tar dessa värden som statiska, så skulle du kunna välja

      1) En ordermodell som innehåller alla villkor baserat på vilket CRCid (instrument) som avses.
      Tex, 22 respektive 160 för TEL2-B.ST.

      2) En ordermodell per inställning, dvs att du istället för en stor ordermodell med varje crcId definierat så kan du skapa en ordermodell med ett script för varje kombination av parametrar (tex 1-9 och 7-9 som delas av flera aktier)

      Vore intressant att höra hur belastningen på VPS:en påverkas beroende på om man väljer 1 eller 2.

      Comment


      • #4
        Man kan kommunicera med NAT via värden i inifilen:

        Exempel
        Get Inifile Variable

        Läs ett globalt värde i en variabel i ini-filen som inte är kopplat till speciellt papper. Värdet kan vara skrivet med externt program till ini-filen AutostockTrader.ini, alternativt inifrån ett script med funktionen SetIniIf()

        65535 variabler finns. 'If' syftar just på att det ofta är villkorat om man skriver.

        Minnesplats 0-65535

        GetIni(2800) returnerar flyttalet som lagras i cell 2800

        Skrivning och läsning till variabler i ini-filen kan användas som ett enkelt API för att låta AutoTrader kommunicera med andra program via ini-filen ScriptVariables.ini

        v77=74009090
        betyder att variabel 77 innehåller värdet 74009090. Ett annat program kan skriva ett värde till v77 som scripten i AutoTrader kan läsa av via GetIni(). Skrivning till variabeln från script görs med SetIniIf()


        Antingen har man 1-2 variabelnummer för varje aktie eller så har man bara två variabler där den ena variabeln innehåller crcid numret och den andra en siffra för köp eller sälj.

        mvh
        Bertil


        Edit: PerG: NAT kan hantera många hundra komplicerade ordermodeller samtidigt, så jag tror knappt man skulle kunna märka skillnaden mellan 1 och 2 i processorbelastning.
        Last edited by Bertil; 2020-03-07, 14:28.

        Comment


        • #5
          Det går att få in externa värden via SetiniIf. Särskilt när det är EOD och inga större tidskrav för exekvering. Det kan bli lite meck och att det finns några begränsningar. Det mesta handlar nog om hur mycket du kan massera outputen från python som sedan läses in till AS. Innan ska David nog tänka igenom sina resultat först för att se om det är värt att prova att importera och handla skarpt. Han skriver att han är ny till teknisk analys. Är du även ny till simulering? Då finns det många fallgropar med din analys i python.

          Några saker som jag kan tänka på direkt.

          Att anpassa villkoren till varje aktie kan kanske fungera. MÅSTE verifierats med out-of-sample och att det finns en dynamisk anpassning av medelvärderan. En aktie kan ändra mönster som beror på marknaden generellt, sektorn och företaget. Ändras någon förutsättning ändras hela analysen. Det kan bli en gigantisk överoptimering. Som att gå baklänges. Väldigt intressant var man varit, men vet inte vart man är på väg.

          Hur gör du när de flesta aktier ligger i köp- eller säljläge samtidigt. Hävstången skulle kunna bli enorm.

          Hur ser draw down ut.

          Aktierna som endast ligger lång. Stängs positionerna sista simuleringsdatumet.

          Om resultaten är verifierade och att du känner dig bekväm kan du ignorera detta inlägg.

          Comment

          Working...
          X