Allmänt meddelande

Collapse
No announcement yet.

API för externa script

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

  • API för externa script

    Jag har ett antal mean reversion strategier som bygger på ganska avancerade statistikmetoder, som t ex Kalman-regression och Johansens procedur för att t ex räkna ut egenvektorer för en ko-integrerad basket. Det vore ju fantastiskt om man kunde integrera detta med NAT och sköta handeln med externt skapade signaler. Även om man idag med lite god vilja kan kommunicera mellan NAT och omvärlden så är det inte tillräckligt flexibelt för att fungera i praktiken, åtminstone i de modeller som jag använder.
    Finns det någon plan eller möjlighet att öppna upp t ex ett API för Python-script i NAT eller är det en för alltid stäng dörr med hänsyn till att ni vill skydda prishistoriken?

  • #2
    Rikard får svara på API-frågan så får jag ställa en off topic fråga.

    1) Har du testat med icke fasvridande digital filtrering där man först kör dataserien från ena hållet och sedan kör dataserien baklänges och lägger samman körningarna?
    2) Har du testat med FFT-analys?
    3) Har du testat med polynomanpassning kanske upp till 5:e graden för att se om man kan göra kortsiktiga predikteringar?

    Undrar
    Bertil

    Comment


    • #3
      Hej Bertil -
      oj, det där var ett gäng exotiska idéer. Jag har sett några av dina strategier och dina resultat talar ju för sig själv så jag förstår att frågorna inte är tagna ur luften. Några korta svar:

      1: Nej - jag vet inte ens riktigt hur du menar men du får gärna förklara mer...

      2: FFT - ja faktiskt. Intressant ibland (för råvaror åtminstone som jag testat) att se vilka underliggande frekvenser/cykler som avtecknar sig i FFT om man t ex tittar på minutstaplar. Man kan ju komma fram till att det finns en topp i FFT-spektrat på 43 minuter och då kan det vara gynnsamt att "driva" strategin på den frekvensen, dvs på 43-minuters staplar. Ibland funkar det, ibland har det inget värde alls - som allt annat. Jonathan Kinlay har skrivit om detta bl a.

      2: Nej, jag har inte anpassat några polynom eller använt regression för att förutsäga kursrörelser. Jag har svårt att tro det skulle ge något men du kanske kan övertyga mig om motsatsen?

      Mina strategier är uteslutande statistiskt arbitrage och utgår från att hitta co-integrerande "par" där det ena benet kan bestå av ett syntetiskt instrument, t ex en korg av aktier. Därifrån är det klassisk pair trading med Z-score. Det intressanta är att tråla efter lämpliga kandidater och eftersom jag inte begränsar strategin till fysiska instrument/index-par (typ OMX/DAX) så blir det ett närmast outsinligt rum att testa. Denna typen av data-mining kräver modeller som svårligen kan implementeras i NAT tyvärr även om jag gärna skulle vilja köra dem just där eftersom det är en i övrigt bekväm miljö.


      Jag skulle gärna prata alternativa hypoteser och edgar med dig i timmar Bertil, men det får vi kanske ta off-line?

      Comment


      • #4
        Hej!
        Tack för svar. Jag programmerar ju inte i Python eller Matlab (är rätt kass på att programmera) men letar ju alltid efter intressanta edger.

        1) Digitala filter tex lågpass ger ju en fördröjning på samma sätt som medelvärdesbildning. Säg att man har en tidsserie a-ö och kör ett filter eller medelvärde mot den så får man en förskjutning mot ö. Sedan kan man köra samma filter på tidsserien baklänges dvs från ö-a, då blir förskjutningen mot a. Sedan lägger man samman resultaten och delar med två och vips har tidsförskjutningarna tagit ut varandra.
        NAT har en funktion som heter rev som reverserar tidsserien, men den beter sig inte alls som jag önskar. Jag vill ju att en kurva skall kunna ritas om bakåt i tiden allteftersom tiden fortskrider, men för NAT gäller tydligen att "lagt kort ligger" dvs en kurva får inte skrivas om senare i tid.
        Det är möjligt att vissa Kalmanfilter är icke tidsfördröjande.

        2) Kul att FFT fungerar ibland.

        3) Funktionen LinReg i NAT är ju ett förstagradspolynom. Jag har själv programmerat andragradspolynom i NAT men det gav inget. Det jag är nyfiken på är om 3:e till 5:e gradspolynom skulle ge något.

        mvh
        Bertil

        Comment

        Working...
        X