88: Rename Evelyn to EvelynStatusService and expose the calculated reference price
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
* [8. Risici, fail-safes og antifragilitet](#8-risici-fail-safes-og-antifragilitet)
|
||||
* [9. Udvikling, YouTrack-integration og offentlig gennemsigtighed](#9-udvikling-youtrack-integration-og-offentlig-gennemsigtighed)
|
||||
* [10. Fremtidige emner / TODO](#10-fremtidige-emner--todo)
|
||||
* [11. Statusservice og referencepris](#11-statusservice-og-referencepris)
|
||||
<!-- TOC -->
|
||||
|
||||
## 1. Introduktion formål og vision
|
||||
@@ -301,3 +302,35 @@ kapitalallokering over tid (AI-drevet tuning).
|
||||
ekstreme markedsbevægelser.
|
||||
- Open API for ekstern integration: Gør det muligt at tilføje eksterne datafeeds, udveksle signaler med andre
|
||||
systemer, eller automatisere funding-opgaver.
|
||||
|
||||
## 11. Statusservice og referencepris
|
||||
|
||||
Evelyn er navnet på det samlede system. `com.r35157.evelyn.service.status.EvelynStatusService` indsamler og
|
||||
persisterer statusindeks for én navngiven instans og giver consumers adgang til den samme referencepris, som
|
||||
Evelyn Price Index bruger. Referenceimplementeringen er `EvelynStatusServiceImpl` under
|
||||
`com.r35157.evelyn.service.status.impl.ref`. Hub'en ejer fortsat startup af de enkelte processer.
|
||||
|
||||
`AssetPrice getReferencePrice(Instant timestamp)` beregner prisen for det angivne tidspunkt:
|
||||
|
||||
```text
|
||||
Start: 2026-07-31T22:00:00Z
|
||||
Startpris: 15.00 USDT pr. EVE
|
||||
Årlig faktor: 1.20
|
||||
Årslængde: 31,536,000 sekunder
|
||||
referencePrice = 15.00 × 1.20^(elapsedSeconds / 31,536,000)
|
||||
```
|
||||
|
||||
Resultatet indeholder det kanoniske EVE/USDT-tradingpar, så quote-valutaen er eksplicit. Prisen er 15 ved start og
|
||||
18 efter ét 365-dages år. Statusindekset bruger `((actualPrice / referencePrice) - 1) × 10` med samme samplingtidspunkt
|
||||
og samme beregning og konstanter. Den eksisterende konvention om at behandle USDT som USD i indekset bevares.
|
||||
|
||||
Referenceprisen beregnes ved hvert kald uden tickeropslag, historikadgang, workers eller ændring af historikken.
|
||||
Kaldet virker før sampling starter og mens den er stoppet, også uden provisionerede historikfiler. `null` afvises
|
||||
med `NullPointerException`, og tidspunkter før kurvens start afvises med `IllegalArgumentException`.
|
||||
|
||||
Production og Test bevarer separate navne, historikker, livscyklusser og Mission Control-charts. Historikfilerne
|
||||
ligger fortsat i `data/evelyn/<instance-name>/status.log` med formatversion 1. Sampling sker fortsat med cirka ét
|
||||
minuts fast forsinkelse, og et punkt persisteres før publicering i et immutable snapshot. `stop()` rydder kun
|
||||
hukommelsen og beholder navnereservationen, restart genindlæser filen, og `close()` frigiver navnet efter sikker
|
||||
terminering. `EvelynStatusIndexPoint` bliver i sin eksisterende package med alle seks indeksfelter; kun Evelyn
|
||||
Price Index beregnes og vises, mens de øvrige fem felter fortsat er nul. Legacy-rebalancering er fortsat inaktiv.
|
||||
|
||||
Reference in New Issue
Block a user