Show/Hide Toolbars

Hitta kursvinnare - Hjälpmanual

Navigation: HkScript

FA-analys i HkScript

Scroll Föregående Topp Nästa Fler

I det här avsnittet beskriver vi hur HkScript kan använda fundamental analys och bolagens rapportinformation. Att kombinera fundamental och teknisk analys kan vara ett värdefullt sätt att hitta långsiktiga kursvinnare.

 

Bakgrund: Dataserier för vanlig kurs- och indikatordata
I HkScript körs scriptet en gång för varje bar. För ett diagram på 1 år, dvs ca 250 bar i dagschart, så innebär det att scriptet körs 250 gånger.

Dataserien för Close eller t ex RSI och all annan indikatordata har då också samma längd 250.

 * Vid varje tillfälle kommer Close[0] visa aktuell slutkurs för den dagen.
 * Medan t ex föregående dag skrivs Close[-1].
 

För att visa en graf med stängningskursen skriver du: plot1[0] = Close[0];

 
FA-dataserier: Dataserier för Rapportdata

Dataserien för Rapportdata (FA-dataserie) har till skillnad från kurs- och indikatordata istället samma längd som antalet rapporter tillgängliga.
T ex när det finns 16 kvartalsrapporter så är längden 16. Dock så kommer det aktuella värdet [0]alltid innehålla det senaste rapportvärdet. T ex Fa.Sales()[0].
* Vid varje tillfälle kommer Fa.Sales()[0]visa senaste rapports Omsättning per aktie. (försäljning)
* För historisk backtestings skull och i enlighet med verkligheten finns rapportvärdet först samma dag som bolaget presenterat sin rapport.
* All rapportdata anges som 12 månader rullande kvartal. Dvs 1 helt år, med ny info varje kvartal.
* Föregående rapports värde skrivs Fa.Sales()[-1]. (dvs dess 12 månader rullandekvartal)

 

För att visa en graf med aktuell Omsättning per aktie skriver du: plot1[0] = Fa.Sales()[0];
 

Innehåll i FA-dataserier

Varje värde i en FA-dataserie innehåller ett helt rapportår, baserat på kvartalens data. T ex efter ett bokslut (Q4) så innehåller Fa.Sales()[0] hela fjolårets omsättning per aktie. Dvs Q4+Q3+Q2+Q1.
Ifall tidpunkten istället är efter Q2 (se tabell) nedan så innehåller Fa.Sales()[0] också ett helt års omsättning (försäljning) per aktie, men i detta fall Q2+Q1 innevarande år och Q4+Q3 föregående år.
Det här gör att alla värden alltid blir jämförbara, samt att bolagens eventuella säsongsvariationer inte påverkar resultaten.
Se exempel nedan.

 
Exempel: Dagens datum är 10 augusti och bolagets Q2-rapport släpptes nyligen, den 2 augusti.

Tidsenhet

Sales[0]

Sales[-1]

Sales[-4]

Slutkvartal, rullande

Q2-2024

Q1-2024

Q2-2023

Tillgänglig från (exempel)

2024-08-02

2024-04-28

2023-07-30

Startkvartal, rullande

Q3-2023

Q2-2023

Q3-2022

 

 

Matematiska funktioner

Du kan  bearbeta dina dataserier enkelt med addition, division etc. genom att använda plustecken (+), divisionstecken (-) m.m. Exempelvis så här: plot1[0] = Fa.Sales()[0] * 10 för att visa rapportvärde gånger tio. (observera att decimaltal skrivs med '.')

 

Programmet innehåller även mer avancerade matematiska funktioner, som ger möjlighet att exempelvis summera eller räkna ut någonting. Du kan hitta alla dessa funktioner i Referensbiblioteket. Vill du exempelvis använda en funktion för att se årsvis snitt-tillväxt (%) i en dataserie (i detta fall Sales), så kan anges Fa.Sales().yearAvgGrowth(5)

 

Exempel funktioner
Några ytterligare exempel:
if (Fa.PE()[0] < 10)
 plot1[0] = 1; // Köp om PE är under 10
 
if (Fa.Sales().yearGrowth(1) > 25)
 plot1[0] = 1; // Köp om Försäljningstillväxt senaste året > 25%
 
if (Fa.Sales().growth(1) > 20)
 plot1[0] = 1; // Köp om Försäljningstillväxt senaste kvartalet > 20% (baserat på rullande 4 kvartal)
 
if ((Fa.PE()[0] < 10) && (Close[0] > MA3(200)[0]))
 plot1[0] = 1; // Köp om PE är under 10 OCH Close är över MA200