!
HiQ AssetCalc Server (ACS) Documentatie bij schatting, versie 16 juli
!"#$%&'()*%+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! .+/'+0*0 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 1! "#$%'(#$%!)*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! .//012%3045(67#89'9:!):+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! .//012%3045(67#89'9-!)-+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ;! <82=>9'9:!);+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ?! <82=>9'9-!)?+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @! .==80A#9'9:!)@+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @! .//012%3045(67#89'9;!)B+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, B! .//012%3045(67#89'9?!)C+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, C! <82=>9'9;!)D+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, D! <82=>9'9?!)E+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, E! .==80A#9'9-!):*+ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, :*! 2(("(34+56%#&+#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -7! 8"&&%#& ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, --!
3 !"#$%&'()*%+3 De ACS staat standaard te luisteren op poort 5096. Dit is configureerbaar door de .EXE op te starten met een commandline parameter: HiQAssetCalc.exe 7096 bijvoorbeeld om op poortnummer 7096 te gaan luisteren. Indien het niet lukt om de poort te binden, dan verschijnt hiervan een melding in de console of in logfile.
HiQ AssetCalc Server (ACS) Documentatie
-1-
16/Jul/09
!
.+/'+0*03 De ACS werkt richting de website in de vorm van requests die de website via een TCP/IP connectie kan doen aan de ACS. Een standaard request verloopt als volgt: 1. De webserver maakt connectie met de ACS op het juiste IP adres en poort. 2. De ACS valideert of het ipadres dat het request doet, daar ook toe bevoegd is. 3. De webserver stuurt het request-nummer, gevolgd door de ingangsparameters en afgesloten met de footer naar de ACS 4. De ACS behandelt de request (rekenen e.d) 5. De ACS stuurt de output in de vorm van een OK vlag, de output paramaters en afgesloten met de footer. 6. Zowel webserver als ACS sluiten de connectie. De footer is het getal 123456789. Er wordt gecommuniceerd met integers. De volgende requests worden op dit moment ondersteund:
9+0*.+/'+0*3:7;3 Het testrequest heeft als input één getal en retourneert dat getal x 2. opsturen 0 Integer 123456789
omschrijving RequestID van het testRequest Het getal dat als input dient Footer
voorbeeld
ontvangen 0 Integer 123456789
omschrijving OK vlag De berekende output (input x 2) Footer
voorbeeld
4
8
<55"=)*%"#>'?@+(A.+/A-3:-;3 Het allocationnumber_req_1 geeft op basis van de individuele inputparameters van de klant, een aantal berekende waarden terug die de allocatie karakteriseren die hij op dit moment moet hebben. Dit request bepaalt de asset allocatie op basis van hetgeen de klant minimaal wil overhouden en geeft als antwoord o.a. het verwacht rendement. Voor het omgekeerde request, waarbij het verwacht rendement een input parameter is, zie allocationnumber_req_2. De verschilen met allocationnumber_req_2 zijn gearceerd. opsturen 1 Integer Integer Integer Integer Integer 123456789
omschrijving ID van allocationnumber_req_1 Te beleggen bedrag in euros Maandelijkse inleg in euros Einde looptijd in YYYYMM Minimaal overhouden Kostenverschil beheerder in bp Footer
HiQ AssetCalc Server (ACS) Documentatie
-2-
voorbeeld 100000 250 202001 100000 200
16/Jul/09
!
ontvangen 0 Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer 123456789
omschrijving OK vlag Het % in het risicovrije fonds Het % in het groei fonds Mogelijk verlies in 1 Jaar in bp Kans op groter verlies in bp Eindwaarde slecht in EUR Eindwaarde gemiddeld in EUR Eindwaarde goed in EUR Kans op halen doel in bps Kans op uiteindelijk verlies in bp Verwacht rendement in bp Risicogetal Footer
voorbeeld 73 27 1870 500 100000 220000 360000 9800 350 420 8
<55"=)*%"#>'?@+(A.+/A13:1;3 Het allocationnumber_req_2 geeft op basis van de individuele inputparameters van de klant, een aantal berekende waarden terug die de allocatie karakteriseren die hij op dit moment moet hebben. Dit request bepaalt de asset allocatie op basis van hetgeen de klant als verwacht rendement wil behalen en geeft als antwoord o.a. het bedrag dat hij minimaal gaat overhouden. Voor het omgekeerde request, waarbij het minimaal over te houden bedrag een input parameter is, zie allocationnumber_req_1. De verschilen tussen dit request en allocationnumber_req_1 zijn gearceerd.
opsturen 2 Integer Integer Integer Integer Integer 123456789
omschrijving ID van allocationnumber_req_1 Te beleggen bedrag in euros Maandelijkse inleg in euros Einde looptijd in YYYYMM Verwacht rendement in bp Kostenverschil beheerder in bp Footer
voorbeeld
ontvangen 0 Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer 123456789
omschrijving OK vlag Het % in het risicovrije fonds Het % in het groei fonds Mogelijk verlies in 1 Jaar in bp Kans op groter verlies in bp Eindwaarde slecht in EUR Eindwaarde gemiddeld in EUR Eindwaarde goed in EUR Kans op halen doel in bps Kans op uiteindelijk verlies in bp Minimaal overhouden Risicogetal Footer
voorbeeld
HiQ AssetCalc Server (ACS) Documentatie
-3-
100000 250 202001 420 200
73 27 1870 500 100000 220000 360000 9800 350 10000 8
16/Jul/09
!
B()CDA.+/A-3:E;3 Het graph_req_1 geeft datapunten terug, die gebruikt kunnen worden voor het genereren van grafieken. Het request geeft o.a. een gesimuleerde waardeontwikkeling van de portefeuille weer op basis van een MonteCarlo simulatie in het AssetCalcTool. Ingangsparameter is o.a. het bedrag dat de klant minimaal wil overhouden. Het tekenen van grafieken met verwacht rendement als ingangsparameter kan met graph_req_2. De verschilen met graph_rec_2 zijn gearceerd.
opsturen 3 Integer Integer Integer Integer Integer Integer Integer Integer 123456789
omschrijving ID van graph_req_1 Te beleggen bedrag in euros Maandelijkse inleg in euros Einde looptijd in YYYYMM Minimaal overhouden Kostenverschil beheerder in bp Aantal punten op de x-as Aantal simulaties Aantal bins voor histogram Footer
ontvangen 0 Integer x #punten Integer x #punten Integer x #punten Integer x #punten Integer x #punten Integer x (bins-1) Integer x bins Integer x #punten Integer x #punten … Integer x #punten 123456789
omschrijving OK vlag Kans op verlies in bp Kans op berelken doel in bp Waardeontwikkeling portefeuille in slechte markt Waardeontwikkeling portefeuille in gemiddelde markt Waardeontwikkeling portefeuille in goede markt Scheidingsvlakken histogram in euro Relatieve hoogte histogram in bps Het eerste gesimuleerde pad Het tweede gesimuleerde pad … Het laatste gesimuleerde pad Footer
voorbeeld 100000 250 202001 100000 200 500 10 10
voorbeeld 4800, 4799,… 0, 1, 4,… 100, 102, 103 100, 103, 105 100, 105, 110 40000, 60000 150, 300,… 100,102,101,… 100,102,101,… … 100,102,101,…
Het aantal integers dat teruggestuurd wordt is gelijk aan: veld OK vlag kansgrafieken waardegrafieken histogram MonteCarlo
Aantal punten 1 2 x #punten (kans op verlies / bereiken doel) 3 x #punten (waardeontwikkeling goed/gem/slecht) 2 x bins – 1 #simulaties x #punten
HiQ AssetCalc Server (ACS) Documentatie
-4-
16/Jul/09
!
footer
1
Totaal
1 + (5 + #simulaties) x #punten + 2 x bins
in het hier genoemde voorbeeld worden er : 1 + (5 + 10) x 500 + 2 x 10 = 7521 getallen teruggestuurd door de ACS.
B()CDA.+/A13:F;3 Het graph_req_2 geeft datapunten terug, die gebruikt kunnen worden voor het genereren van grafieken. Het request geeft o.a. een gesimuleerde waardeontwikkeling van de portefeuille weer op basis van een MonteCarlo simulatie in het AssetCalcTool. Ingangsparameter is o.a. het verwacht rendement dat de klant wil behalen. Het tekenen van grafieken met het minimaal over te houden bedrag als ingangsparameter kan met graph_req_1. De verschilen met graph_rec_1 zijn gearceerd. opsturen 4 Integer Integer Integer Integer Integer Integer Integer Integer 123456789
omschrijving ID van graph_req_2 Te beleggen bedrag in euros Maandelijkse inleg in euros Einde looptijd in YYYYMM Verwacht rendement in bp Kostenverschil beheerder in bp Aantal punten op de x-as Aantal simulaties Aantal bins voor histogram Footer
voorbeeld 100000 250 202001 480 200 500 10 10
Het antwoord op dit request is identiek aan graph_req_1.
opsturen 5 Integer Integer Integer Integer Integer Integer Integer Integer
omschrijving ID van approve_req_1 ClientID Te beleggen bedrag in euros Maandelijkse inleg in euros Einde looptijd in YYYYMM Minimaal overhouden Verwacht rendement in bp Gedeelte in protect fund in bp Gedeelte in growth fund in bp
HiQ AssetCalc Server (ACS) Documentatie
-5-
voorbeeld 12 100000 250 202001 100000 420 4000 6000
16/Jul/09
!
Integer
123456789
ontvangen 0 Integer 123456789
Stuurparameter, 0 = minimaal vermogen, 1 = verwacht rendement, 2 = manual Footer
omschrijving OK vlag Id van de allocatie in de allocation table Footer
0
voorbeeld 12
<55"=)*%"#>'?@+(A.+/AE3:I;3 Het allocationnumber_req_3 geeft op basis van de individuele input parameters van de klant, een aantal berekende waarden terug die de allocatie karakteriseren die hij op dit moment moet hebben. Dit request bepaalt de asset allocatie voor een klant die belegt met als doel inkomensaanvulling. In dit request wordt de allocatie o.a. bepaald door de gewenste maandelijkse uitkering te kiezen, het verwacht rendement is dan een output. Gebruik alloctionnumber_req_4 om het verwacht rendement als input te gebruiken en de bijbehorende gewenste maandelijkse uitkering als output te ontvangen. Het verschil van dit request met allocationnumber_req_4 is gearceerd. opsturen 6 Integer Integer Integer Integer
Integer Integer 123456789
ontvangen 0 Integer Integer Integer
Integer Integer Integer
omschrijving ID van allocationnumber_req_3 Te beleggen bedrag in euros Maandelijkse inleg in euros Moment waarop inleg omdraait in onttrekking in YYYYMM Moment waarop het onttrekken van geld eindigt (de totale looptijd van het plan) in YYYYMM Gewenste maandelijkse onttrekking in euros Kostenverschil beheerder in bp Footer
voorbeeld
omschrijving OK vlag Het % in het risicovrije fonds Het % in het groei fonds Minimale waarde van de portefeuille op het moment dat inleg overgaat in onttrekking in EUR Minimale maandelijkse uitkering in EUR Maandelijkse uitkering in slecht scenario in EUR Maandelijkse uitkering in
voorbeeld
HiQ AssetCalc Server (ACS) Documentatie
-6-
100000 250 202006 203006
2500 200
73 27 525000
2348 2370 2782
16/Jul/09
!
Integer Integer Integer Integer Integer 123456789
gemiddeld scenario in EUR Maandelijkse uitkering in goed scenario in EUR Kans op gewenste uitkering in bp Kans op uiteindelijk verlies in bp Verwacht rendement in bp Risicogetal Footer
3102 9800 720 420 8
<55"=)*%"#>'?@+(A.+/AF3:J;3 Het allocationnumber_req_4 geeft op basis van de individuele inputparameters van de klant, een aantal berekende waarden terug die de allocatie karakteriseren die hij op dit moment moet hebben. Dit request bepaalt de asset allocatie voor een klant die belegt met als doel inkomensaanvulling. In dit request wordt de allocatie o.a. bepaald door het verwachte rendement te kiezen. Het AAT bepaalt vervolgens die gewenste maandelijkse uitkering, zodat het verwacht rendement van deze keuze gelijk wordt aan het opgegeven verwachte redement. Gebruik alloctionnumber_req_3 om direct de gewenste uitkering als input te sturen. Het verschil van dit request met allocationnumber_req_3 is gearceerd. opsturen 7 Integer Integer Integer Integer
Integer Integer 123456789
ontvangen 0 Integer Integer Integer
Integer Integer Integer Integer Integer
omschrijving ID van allocationnumber_req_4 Te beleggen bedrag in euros Maandelijkse inleg in euros Moment waarop inleg omdraait in onttrekking in YYYYMM Moment waarop het onttrekken van geld eindigt (de totale looptijd van het plan) in YYYYMM Verwacht rendement in bp Kostenverschil beheerder in bp Footer
voorbeeld
omschrijving OK vlag Het % in het risicovrije fonds Het % in het groei fonds Minimale waarde van de portefeuille op het moment dat inleg overgaat in onttrekking in EUR Minimale maandelijkse uitkering in EUR Maandelijkse uitkering in slecht scenario in EUR Maandelijkse uitkering in gemiddeld scenario in EUR Maandelijkse uitkering in goed scenario in EUR Kans op gewenste uitkering in bp
voorbeeld
HiQ AssetCalc Server (ACS) Documentatie
-7-
100000 250 202006 203006
480 200
73 27 525000
2348 2370 2782 3102 9800
16/Jul/09
!
Integer Integer
Integer 123456789
Kans op uiteindelijk verlies in bp Gewenste uitkering behorend bij opgegeven verwacht rendement in EUR. Risicogetal Footer
720 2600
8
B()CDA.+/AE3:K;3 Het graph_req_3 geeft op basis van de individuele inputparameters van de klant, een aantal berekende waarden terug die de allocatie karakteriseren die hij op dit moment moet hebben. Dit request bepaalt de asset allocatie voor een klant die een belegt met als doel inkomensaanvulling. In dit request wordt de allocatie o.a. bepaald door de gewenste maandelijkse uitkering te kiezen, het verwacht rendement is dan een output. Gebruik graph_req_4 om het verwacht rendement als input te gebruiken en de bijbehorende gewenste maandelijkse uitkering als output te ontvangen. Het verschil van dit request met graph_req_4 is gearceerd.
opsturen 8 Integer Integer Integer Integer
Integer Integer Integer Integer Integer 123456789
omschrijving ID van graph_req_3 Te beleggen bedrag in euros Maandelijkse inleg in euros Moment waarop inleg omdraait in onttrekking in YYYYMM Moment waarop het onttrekken van geld eindigt (de totale looptijd van het plan) in YYYYMM Gewenste maandelijkse onttrekking in euros Kostenverschil beheerder in bp Aantal punten op de x-as Aantal simulaties Aantal bins voor histogram Footer
ontvangen 0 Integer
Integer x #punten Integer x #punten Integer x #punten Integer x #punten Integer x (bins-1) Integer x bins
omschrijving OK vlag Omrekenfactor a met maandelijkse uitkering = a x waarde porteuille in eenheden van 10-6 (0.000001). Kans op bereiken doel in bp Waardeontwikkeling portefeuille in slechte markt Waardeontwikkeling portefeuille in gemiddelde markt Waardeontwikkeling portefeuille in goede markt Scheidingsvlakken histogram in euro Relatieve hoogte histogram in
HiQ AssetCalc Server (ACS) Documentatie
-8-
voorbeeld 100000 250 202006 203006
2500 200 500 10 10
voorbeeld 1234
0, 1, 4,… 100, 102, 103 100, 103, 105 100, 105, 110 40000, 60000 150, 300,…
16/Jul/09
!
Integer x #punten Integer x #punten … Integer x #punten 123456789
bps Het eerste gesimuleerde pad Het tweede gesimuleerde pad … Het laatste gesimuleerde pad Footer
100,102,101,… 100,102,101,… … 100,102,101,…
Het aantal integers dat teruggestuurd wordt is gelijk aan: veld OK vlag Omrekenfactor kansgrafiek waardegrafieken histogram MonteCarlo footer
Aantal punten 1 1 1 x #punten (kans op verlies / bereiken doel) 3 x #punten (waardeontwikkeling goed/gem/slecht) 2 x bins – 1 #simulaties x #punten 1
Totaal
2 + (4 + #simulaties) x #punten + 2 x bins
in het hier genoemde voorbeeld worden er : 2 + (4 + 10) x 500 + 2 x 10 = 7022 getallen teruggestuurd door de ACS.
B()CDA.+/AF3:L;3 Het graph_req_4 geeft op basis van de individuele inputparameters van de klant, een aantal berekende waarden terug die de allocatie karakteriseren die hij op dit moment moet hebben. Dit request bepaalt de asset allocatie voor een klant die belegt met als doel inkomensaanvulling. In dit request wordt de allocatie o.a. bepaald door het verwachte rendement te kiezen. Het AAT bepaalt vervolgens die gewenste maandelijkse uitkering, zodat het verwacht rendement van deze keuze gelijk wordt aan het opgegeven verwacht redement. Gebruik graph_req_3 om direct de gewenste uitkering als input te. Het verschil van dit request met graph_req_3 is gearceerd. opsturen 9 Integer Integer Integer Integer
Integer Integer Integer Integer Integer 123456789
omschrijving ID van graph_req_4 Te beleggen bedrag in euros Maandelijkse inleg in euros Moment waarop inleg omdraait in onttrekking in YYYYMM Moment waarop het onttrekken van geld eindigt (de totale looptijd van het plan) in YYYYMM Verwacht rendement in bp Kostenverschil beheerder in bp Aantal punten op de x-as Aantal simulaties Aantal bins voor histogram Footer
HiQ AssetCalc Server (ACS) Documentatie
-9-
voorbeeld 100000 250 202006 203006
480 200 500 10 10
16/Jul/09
!
Het antwoord op dit request is identiek aan graph_req_3.
opsturen 10 Integer Integer Integer Integer Integer
Integer Integer Integer Integer
123456789
ontvangen 0 Integer 123456789
omschrijving ID van approve_req_2 ClientID Te beleggen bedrag in euros Maandelijkse inleg in euros Moment waarop inleg omdraait in onttrekking in YYYYMM Moment waarop het onttrekken van geld eindigt (de totale looptijd van het plan) in YYYYMM Gewenste uitkering Gedeelte in protect fund in bp Gedeelte in growth fund in bp Stuurparameter, 0 = gewenste uitkering 1 = manual Footer
omschrijving OK vlag Id van de allocatie in de allocation table Footer
voorbeeld 12 100000 250 202006 203006
2500 4000 6000 0
voorbeeld 12
2(("(34+56%#&+#3 Indien het antwoord niet als eerst integer de 0 “nul” bevat, is er een error opgetreden die teruggemeld wordt via de volgende structuur:
ontvangen 1 Integer Integer(s) 123456789
omschrijving ERROR vlag ErrorCode Eventuele nadere informatie Footer
voorbeeld 0 36
De volgende errorcodes worden teruggemeld:
HiQ AssetCalc Server (ACS) Documentatie
- 10 -
16/Jul/09
!
error code 0 1 2
als antwoord op requestIDs alle onbekende 1,2,3,4 1,2,3,4
3
1,2,3,4
omschrijving
extra parameters
Onbekend request Ongeldige looptijd Minimale eindwaarde niet realiseerbaaar Ongeldige eerste inleg
Opgestuurd requestID
8"&&%#&3 De logfile is redelijk uitgebreid en komt terecht in de folder van de user die de ACS draait in de submap Logs. De logfilenaam heeft de volgende structuur: HiQAssetCalcServer_dd_mm_yy_nnn.log Waar nnn is een random getal dat iedere keer gegenereerd wordt als de server wordt gestart. Dit verkleint de kans in hoge mate dat meer servers in dezelfde file gaan loggen.
HiQ AssetCalc Server (ACS) Documentatie
- 11 -
16/Jul/09