Overzichten maken

Moderator: Perry

Overzichten maken

Berichtdoor fsimjouw » vr 06 jan 2006, 20:18

Ik wil een overzicht maken van fondsen met daarin het percentage stijging of daling tussen twee op te geven datums.
Hoe pak je dit aan.

Frans Simjouw
fsimjouw
 
Berichten: 18
Geregistreerd op: vr 25 okt 2002, 15:27
Woonplaats: Etten-Leur

Berichtdoor Pierre » vr 06 jan 2006, 20:46

Hallo Frans,

Wat jij wilt is de procentuele stijding van een fonds in bijv. de afgelopen maand of de afgelopen 3 maanden.

In Vestics zit zo'n indicator en die heet "Rate of change".

Deze indicator kun je toevoegen aan een koersvenster. Dat gaat als volgt...

- maak een koersvenster met daarin alle fondsen die je wilt vergelijken. Je kunt desnoods alle aandelen van de Euronext Amsterdam vanuit de fondsverkenner naar een koersvenster slepen, maar ik zou even beginnen met alleen de AEX.
- vervolgens kies je rechter muisknop >> Grideigenschappen
- nu selecteer je het tabje Kolommen
- klik op de knop Indicator toevoegen (rechtsboven)
- selecteer de indicator Rate Of Change (ROC) en druk op OK
- vul de gewenste periode in werkdagen in.
- dus 1week=5, 1maand=22, 1kwartaal=65 en 1jaar=262, enz.
- druk op OK
- nu verschijnt er een extra kolom in het koersvenster met de procentuele stijging
- door in de kop van die kolom te klikken krijg je de laagste waarde (de dalers) bovenaan en de hoogste waarde (stijgers) onderaan
- door nog een keer te klikken draai je de volgorde om en komen de stijgers bovenaan

Uiteraard kun je meerdere kolommen maken, met bijvoorbeeld de 5-daagse ROC, de 22-daagse ROC en de 65-daagse ROC naast elkaar.

In plaats van de kant en klare indicator ROC te gebruiken, kun je ook eigen formules ingeven in een kolom. Dat gaat als volgt...

- maak een koersvenster met daarin alle fondsen die je wilt vergelijken.
- vervolgens kies je rechter muisknop >> Grideigenschappen
- nu selecteer je het tabje Kolommen
- klik op de knop Indicator toevoegen (rechtsboven)
- ga naar het tabje Calculation
- vul een naam in, die alleen uit letters en cijfers bestaat, bijv. RoC22
- vul als formule in: 100*(Close-Close[22])/Close[22]-100
- druk op OK
- nu verschijnt er een extra kolom in het koersvenster met de procentuele stijging over de afgelopen 22 dagen
- als het goed is, is die waarde gelijk aan de ROC kolom van het eerste voorbeeld

Eigen formules is enerzijds ingewikkelder, maar anderzijds is het wel heel flexibel. Zo kun je allerlei ingewikkelde berekeningen doen, min of meer vergelijkbaar met Excel.

Uiteraard kun je dergelijke berekeningen ook als een indicator toevoegen aan Vestics. Je moet je dan een beetje verdiepen in VestiCode.

Het Koersvenster heeft ook nog allerlei extra mogelijkheden. Zo zou je bijv. de stijgingspercentages kunnen gebruiken om de getallen een kleurtje te geven...
- klik met de rechter muisknop op een willekeurig getal in de kolom van de Rate of Change en kies Kolomeigenschappen
- ga naar het tabje Groeperen
- plaats een vinkje bij Groeperen gebruiken voor deze kolom
- selecteer de keuze Groeperen op basis van de waarde
- selecteer de keuze Eigen groepsindeling maken
- maak nu 5 groepen van de laagste waarde tot de hoogste waarde...
--- groep 1 is van -100 tot -5
--- groep 2 is van -5 tot -0.2
--- groep 3 is van -0.2 tot +0.2
--- groep 4 is van +0.2 tot +5
--- groep 5 is van +5 tot +100
- ga nu naar het tabje Acties
- verander bij alle 5 de groepen de achtergrond kleur van de cell
- groep 1=lichtrood, groep 2=roze, groep 3=ongewijzigd, groep 4=zachtgroen, groep 5 = lichtgroen
- druk op OK
Op die manier onderscheidt je in ??n oogopslag de snelle stijgers en de dalers aan de hand van hun kleur. Dat is met name handig als je meerdere criteria hebt waar je fondsen op wilt selecteren. De beste fondsen hebben dan 5x groen terwijl de slechtste fondsen 5x rood hebben.

vr. groeten,
Pierre Dolmans
Vestics helpdesk
Pierre
 
Berichten: 412
Geregistreerd op: di 02 okt 2001, 9:46
Woonplaats: Leerdam

Berichtdoor fsimjouw » za 07 jan 2006, 18:37

Hoi pierre,

Bedankt voor de snelle reactie, klasse.
Dit was wat ik bedoelde.

Ik heb nog wel een paar problemen :
- Bij het opgeven van de formule in een kolom krijg ik een foutmelding.
- De ROC als indicator gebruiken werkt wel.
Alleen als er een waarde hoger dan 150 wordt ingegeven vindt er geen
berekening plaats maar worden er streepjes geplaatst.

Ben overigens nog wel aan het zoeken om de close van een op te geven datum op te halen.

Wat ik eigenlijk wilde maken was het volgende :
Een overzicht (koersvenster met de navolgende kolommen :
- Fondsnaam
- De Close koers van een opgegeven begindatum
- De Close koers van een opgegeven einddatum
- De stijging of daling van deze twee koersen
- De procentuele stijging of daling van deze twee koersen


Groetjes
Frans Simjouw
fsimjouw
 
Berichten: 18
Geregistreerd op: vr 25 okt 2002, 15:27
Woonplaats: Etten-Leur

Berichtdoor Pierre » za 07 jan 2006, 22:43

Hallo Frans,

Allereerst iets over die formule.... als je de formule letterlijk overneemt (eventueel kopieren en plakken) dan zou je geen foutmelding moeten krijgen op die formule.

Wel krijg je het verkeerde resultaat. Maw de berekening klopt niet helemaal. Je moet oftewel het stuk "-Close" weglaten, of het stuk "-100". Want nu wordt het dubbelop gedaan.

Wat betreft het feit dat de berekening mis gaat bij meer dan 150 dagen heeft te maken met de hoeveelheid data waarop de berekening gebaseerd is. Je kunt de hoeveelheid data verhogen via de kolomeigenschappen. Op het tabje Formule kun je invullen hoeveel data gebruikt moet worden.

Wat betreft de close van een bepaalde datum... het is gemakkelijk om de close van x dagen geleden in een kolom weer te geven...
- kies rechter muisknop >> Grideigenschappen
- ga naar het tabje Kolommen en klik op de knop Indicator toevoegen
- selecteer het tabje Calculation
- kies een naam, bijv. Begin
- vul als formule in: Close[65] waarbij 65 het aantal dagen geleden is
- druk op OK en nogmaals op OK en je hebt de slotkoers van 65 dagen geleden.

Ik weet niet of dat is wat je zoekt, of dat je echt een bepaalde datum wilt. Ik hoor het wel.

vr. groeten,
Pierre Dolmans
Vestics helpdesk
Pierre
 
Berichten: 412
Geregistreerd op: di 02 okt 2001, 9:46
Woonplaats: Leerdam

Berichtdoor fsimjouw » zo 08 jan 2006, 18:34

Hoi Pierre,

Je hebt helemaal gelijk. () is niet hetzelfde als []. Stom maar je kunt er lang naar zoeken. De -100 had ik al gecorrigeerd.
Door het aanpassen van het aantal bars in formule lukt de berekening over een langere periode nu ook. Je moet het maar weten.

Een dynamisch overzicht van de stijgers en dalers van de afgelopen 4 weken heb ik inmiddels gemaakt. Dit is om op onze 4-wekelijkse bijeenkomst van onze beleggingsclub te laten zien welke aandelen we eigenlijk hadden moeten kopen.

Maar ik wilde ditzelfde overzicht ook maken over vorig jaar dus van 31-12-2004 t/m 30-12-2005.
Nu kun je natuurlijk het aantal bars, dat je terug moet, uitrekenen. Dat is al lastig genoeg want je begint bij 0 en je moet rekening houden met feestdagen e.d. Als ik dit overzicht vandaag maak en het aantal bars terug heb uitgerekend (262 en 5 voor de genoemde data) dan krijg ik keurig het lijstje dat ik wil. Maar als ik dit morgen of volgende week uitdraai dan is alles 1 dag of 5 dagen verschoven.
De formule even aanpassen gaat niet. Je moet de kolom dan verwijderen en opnieuw ingeven. Of zie ik hier ook iets over het hoofd.
Vandaar mijn vraag om de koers van een bepaalde datum te kunnen opvragen.

Groetjes
Frans Simjouw
fsimjouw
 
Berichten: 18
Geregistreerd op: vr 25 okt 2002, 15:27
Woonplaats: Etten-Leur

Berichtdoor Pierre » wo 11 jan 2006, 0:24

Hoi Frans,

Helaas is er geen simpele berekening om van een datum naar een barnummer te gaan.

Er is wel een functie DateToJulian, waarmee je een datum kunt converteren naar een dagnummer. Dus onderstaande formule geeft je het aantal dagen geleden dat een datum is...

Code: Selecteer alles
DateToJulian(CurrentDate)-DateToJulian(20041231-19000000);


Maar aan het aantal dagen heb je niet zoveel... je moet het aantal bars weten, en om precies op 31 december uit te komen moet je dus niet alleen rekening houden met de weekends, maar ook met de feestdagen.

Dat levert dan de volgende formule op...

Code: Selecteer alles
5/7*(DateToJulian(CurrentDate)-DateToJulian(20041231-19000000))-XXX


waarbij XXX het aantal feestdagen is dat je moet invullen.

Als je dan bedenkt dat die hele formule op de plaats van de 65 moet komen in de eerdere formule, en als je dan ook nog de einddatum anders wil maken dan vandaag, dan moet je dus 2x zo'n gedoe intikken.

Het komt er dus op neer dat je een VestiCode functie nodig hebt die het voor je uitrekent. Die functie zou er uit moeten zien als onderstaande functie. (Als je me even een mailtje stuurt, dan stuur ik je de functie als bijlage)

Code: Selecteer alles
value function vDateToBar ( value xDate=20051231 ) begin
  value xBar=-1;
 
  {--- normalise date to EL format ---}
  if xDate>2000000 then xDate = xDate-19000000;
 
  {--- find absolute bar number for date ---}
  if xDate>Date then xBar := -1
  else if xDate=Date then xBar := CurrentBar
  else if xDate<Date and xBar=-1 then xBar := CurrentBar-1;

  {--- return relative bar number ---} 
  if xBar<>-1 then vDateToBar := CurrentBar-xBar 
  else vDateToBar := -1;
  end;

(voor de liefhebbers: op 18 januari a.s. is er een cursus VestiCode. Dat wordt voorlopig de laatste keer dat we deze cursus geven)

Met die functie achter de hand wordt ietsje makkelijker...

Voor de kolom Close2004 is dan de formule...

Code: Selecteer alles
Close[vDateToBar(20041231)]


Voor de kolom Close2005 wordt dat...

Code: Selecteer alles
Close[vDateToBar(20051231)]


Voor het Verschil geeft dat...

Code: Selecteer alles
Close[vDateToBar(20051231)-Close[vDateToBar(20041231)]


En voor de kolom Rendement wordt de formule...

Code: Selecteer alles
100*(Close[vDateToBar(20051231)]-Close[vDateToBar(20041231)])/Close[vDateToBar(20041231)]


Nog steeds een heel gedoe, maar het is te doen als je let op de ronde en de vierkante haken.
Het beste kun je overigens gewoon knippen en plakken, want dan voorkom je overtikfouten.

vr. groeten,
Pierre Dolmans
Vestics helpdesk
Pierre
 
Berichten: 412
Geregistreerd op: di 02 okt 2001, 9:46
Woonplaats: Leerdam


Keer terug naar Suggesties en vragen

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 4 gasten

cron