Bitcoin

Eh, meine „Semi Scalping Trading Strategy“ scheint total dumm zu sein, ober bei Cryptos nicht zu greifen…

Hier mal ein Beispiel anhand von LTC:

BarSeries series = new BaseBarSeriesBuilder().withName("LTC" + "_Stock").build();
List<Candlestick> bars = client1.getCandlestickBars("LTC" + pair, CandlestickInterval.FIVE_MINUTES);
for (Candlestick c : bars) {
	ZonedDateTime endTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(c.getCloseTime()), ZoneId.systemDefault());
	series.addBar(endTime, c.getOpen(), c.getHigh(), c.getLow(), c.getClose());
}
ClosePriceIndicator closePrice = new ClosePriceIndicator(series);
SMAIndicator shortSma = new SMAIndicator(closePrice, 5);
SMAIndicator longSma = new SMAIndicator(closePrice, 30);
RSIIndicator rsiIndicator = new RSIIndicator(closePrice, series.getBarCount());
Rule buyingRule = new CrossedUpIndicatorRule(shortSma, longSma).or(new CrossedDownIndicatorRule(rsiIndicator, 48));
Rule sellingRule = new CrossedDownIndicatorRule(shortSma, longSma).or(new CrossedUpIndicatorRule(rsiIndicator, 53));
Strategy strategy = new BaseStrategy(buyingRule, sellingRule);

// Running our juicy trading strategy...
BarSeriesManager manager = new BarSeriesManager(series);
TradingRecord tradingRecord = manager.run(strategy);
System.out.println("Number of trades for our strategy: " + tradingRecord.getTradeCount());

// Getting the profitable trades ratio
AnalysisCriterion profitTradesRatio = new AverageProfitableTradesCriterion();
System.out.println("Profitable trades ratio: " + profitTradesRatio.calculate(series, tradingRecord));
// Getting the reward-risk ratio
AnalysisCriterion rewardRiskRatio = new RewardRiskRatioCriterion();
System.out.println("Reward-risk ratio: " + rewardRiskRatio.calculate(series, tradingRecord));

// Total profit of our strategy
// vs total profit of a buy-and-hold strategy
AnalysisCriterion vsBuyAndHold = new VersusBuyAndHoldCriterion(new TotalProfitCriterion());
System.out.println("Our profit vs buy-and-hold profit: " + vsBuyAndHold.calculate(series, tradingRecord));
Number of trades for our strategy: 9
Profitable trades ratio: 0.333
Reward-risk ratio: 18.867
Our profit vs buy-and-hold profit: 0.995

D. h., mit meiner tollen Strategie hätte 0,5 % weniger erzielt als bei Buy-and-Hold (kaufen und halten)…


Okay, nun bin ich an dem Punkt, an dem ich ohne gute Literatur nicht weiterkomme :man_shrugging:

Das hab ich gerade vor. Aber ich würden „den Markt beobachten“ nicht als nicht arbeiten bezeichnen… :slight_smile:

Gute Sache dass du das rausgefunden hast ohne Geld dabei zu verlieren!

Ja, das hilft immer.
Man laesst sich oft ja viel zu einfach mitreissen wenn Euphorie am Markt ausbricht, da hilft es eine klare Strategy zu haben.

Ich selber nutze keine oder kaum MAs (150 EMA auf 1 minuten Candles bzw. EMA 8 auf 15 Minuten candles finde ich allerdings interessant).
Scalping an sich wird oft als „mean reversion“ strategy betrieben, d.h. wenn es „so aussieht“ als ob der Preis gerade zu hoch oder zu tief ist, sollte er zu einem Mittel zurueckkehren.
Das funzt super in Situation wo der Markt in Balance ist, also keinen richtigen Trend hat sondern „seitwaerts“ geht.

VWAP finde ich gut fuer intraday scalps, ist aber Geschmackssache, wie gesagt, wenn der Market am trenden ist funktioniert mean reversion nicht weil sie nicht stattfindet.

BTCUSD mit VWAP
Da sieht man IMO auch gleich welche tage balancing waren und dass der letzte jetzt einen up trend hat.
https://i.imgur.com/ZJwuwuD.png

Die orange Linie ist VWAP, „Volume Weighted Average Price“, das ist ein Durchschnittswert, die anderen Linien sind verschiedene quadratische(?) Standardabweichungen.
Hier hatte jemand mal seine Strategie damit erklaert:
https://www.reddit.com/r/thewallstreet/comments/9pbmqh/church_of_vwap/

Hab’ die oben gepostete Strategie mal auf die Beispieldaten angewendet, wie man bei ta4j mit CsvTradesLoader.loadBitstampSeries() laden kann (wohl irgendwelche Bitcoin-daten?). Das Ergebnis war damit:

Number of trades for our strategy: 47
Profitable trades ratio: 0.46808510638297872340425531914894
Reward-risk ratio: 15.828734368693850667627483488894
Our profit vs buy-and-hold profit: 0.96175962928312784381597624186564
Result 1.1913178792980095672314448426829

Der oben schonmal beschriebenen Ansatz mit genetischer Programmierung, nur auf diese feste (!) Regelstruktur angewendet, scheint das zu verbessern:

TradingAllele [shortBarCount=6, longBarCount=37, crossedDownThreshold=54, crossedUpThreshold=44, type=DOWN_RSI]
TradingAllele [shortBarCount=5, longBarCount=34, crossedDownThreshold=34, crossedUpThreshold=56, type=DOWN_SMA]
TradingAllele [shortBarCount=5, longBarCount=21, crossedDownThreshold=57, crossedUpThreshold=45, type=UP_RSI]
TradingAllele [shortBarCount=2, longBarCount=39, crossedDownThreshold=54, crossedUpThreshold=47, type=UP_RSI]
Number of trades for our strategy: 22
Profitable trades ratio: 1
Reward-risk ratio: 22.605616441230114016829363346754
Our profit vs buy-and-hold profit: 1.3702584331093835227822792268462
Result 1.6973194974287342086292584595404

Oh jeh. Da könnte man so viel Zeit reinstecken.

Laut Code wird diese Datei geladen: ta4j/ta4j-examples/src/main/resources/bitstamp_trades_from_20131125_usd.csv at master · ta4j/ta4j · GitHub

Sind alte Bitcoindaten (1 Woche, Ende November bis Anfang Dezember 2013), sollte aber nicht schwer sein aktuelle zu bekommen, zB. Bitstamp Data

Trade ja selber nicht mit Algos und weiss auch nicht wirklich was darueber, aber was mir so ins Auge steht bei der genetischen Variante ist das weniger als halb soviele trades gemacht wurden und gleichzeitig Profit. Was seltsam wirkt ist die Profitable trades ratio von „1“, jeder Trade ein Gewinner und die R/R ist 22, IMO liegt das an den wenigen Daten.

Hehehe…

Vielen Dank maki :wink: Leben gerettet :smiley:

@Marco13 Wenn du noch bei keinem „Broker“ bist, der eine API anbietet, dann:
https://www.coingecko.com/de/api#explore-api

Es gibt auch eine Java Wrapper Lib dafür, die hat bei mir aber nicht so gut funktioniert…

Irgendwie komm’ ich hier nicht hinterher, da ist noch eine Antwort pending, aber kurz:

Ich hab’ das nur schnell und planlos hingepfuscht, was man schon daran erkennt, dass ich nichtmal genau wußte, welche Daten dahinter liegen. Hab’ einfach das aus einem Sample übernommen, weil ich mich nicht noch mit Datenquellen und Loadern befassen wollte. Aber IIRC waren das schon >4MB CSV, also nicht sooo wenige…

Und was die Messgrößen angeht: Ich hab’ (natürlich) auch (noch?) nicht reingeschaut, was er da eigentlich berechnet. Ich wollte nur mal schauen, ob man da ~„grundsätzlich irgenwdas machen könnte“. Und naiv (von meinen damaligen Experimenten ausgehend) dachte ich dann: „Ich erstell’ einfach zufällige Regeln mit zufälligen Indikatoren … was gibt’s denn da so … Indicator, all known implementing classes :astonished:… äh…ja, gut, dann wackel’ ich halt nur an den numerischen Werten rum, aus dem, was in dem Beispiel vorkam“.

(Bei den Experimenten damals hatte ich das aber auch klar trennbar gemacht: 1. Einmal eine „strukturelle“ Optimierung mit dem GA, wo ein „guter Term“ mit „passablen Regeln/Bedingungen“ rauskommt, und 2. das rein numerische Rumwackeln an den Zahlen, die da drin vorkommen, was dann (bei fester Term-Struktur) mit einem beliebigen Apache MultivariateOptimizer gemacht werden konnte).

Aber … schon die Frage, was man als Optimierungkriterium für den Genetischen Algo nimmt, könnte ja interessant sein: TotalProfitCriterion - joa, klingt gut, nehm’wer das halt mal. Etwas anderes wäre vielleicht sinnvoller…

Wie gesagt: Das ist nur schnell hingehackt. Aber… vielleicht schau’ ich da nochmal genauer.

(Ich werde ohne Arbeit reich werden! Und wenn ich dafür die nächsten Jahre Tag und Nacht arbei… … ach, vergesst’s :crazy_face: )

Nur damit ich das richtig verstehe, DU hast den TradingAllele geschrieben?
Oh wow…

Indikatoren koennte man in verschiedene Kategorien einteilen, Trend, Momentum usw.
Jeder Indikator bezieht meist auf einen Zeitraum und hat einen „lag“, man kann dieselben Indikatoren (oder mit aehnlichen/angepassten Bedingungen) auf verschiedene Zeiraeume anwenden, analysieren und dann die Ergebnisse vergleichen.

Als Beispiel waere da zB. RSI overbought condition, diese wird sich eventuell in hoere Zeitraeume (zB. zuerst auf 30, dann 60 und 120 Minuten) durchpropagiert, bis der Markt wieder umdreht oder seitwaerts geht und „abkuehlt“.

Verschiedene Assets verhalten sich da sehr unterschiedlich, BTC zB. kann extrem stark trenden (macht er gerade jetzt wieder) und diese overbought condition/trend kann sehr lange anhalten (Tage Wochen), auch nimmt man andere Filter fuer overbought und oversold (oft sieht man bei BTC 90/10 anstatt 70/30 wie zB. beim SP500).

Sorry, das geübte Auge sieht natürlich schnell, dass da noch ein , c.getVolume() fehlt, deshalb konnten einige Indikatoren auch nicht funktionieren…

Bis morgen!

zu den Testdaten, hab mir das mal angesehen und markiert mit dem lila Viereck

Sieht jetzt nicht wirklich typisch/represaentativ aus, starker uptrend, das erklaert wohl auch warum es so schwierig besser abzuschneiden mit scalping als einfach auf long zu gehen.

Bitcoin wird wohl in Richtung 50k $ marschieren, macht euch auf den Weltuntergang gefasst. :joy:

Und Danke @ Mr Musk, mein Portfolio entwickelt sich gut. :wink:

Ja, ich könnte mir vorstellen, dass man da (allgemein) periodische Daten reinpackt, z.B. mit 7 oder 12 BoxPlots, in denen man (irgendwie „normalsiert“ - vielleicht einfach „als Prozent“…) die aggregierten Verläufe von 100 Wochen/Jahren reinpackt, und man dann z.B. sieht „Mittwochs geht’s runter, Donnerstags schwankt es stark“ oder so.

Einige der in diesem Artikel verlinkten Libs hatte ich schonmal gesehen, u.A. weil ich ja bei meinem (inzwischen auch privaten) Data - Libraries für Datenverarbeitung etwas gebastelt habe, was zumindest verwandt dazu ist - wenn auch nicht mit dem erklärten Ziel, „was zu machen, was so einfach ist, wie ein dataframe“.

Allgemein bietet Python zwar viel, aber das einfache Prototyping erkauft man sich halt mit anderen Dingen - und mir ist der Preis etwas zu hoch. (Subjektiv: Wackelige Versionen/Kompatibilitäten (bzw. wenig „Stabilität“ in diesem Sinne), die fehlende Typsicherheit, und wenn ich die Signaturen von einigen scipy/numpy-Funktionen sehe, rollen sich mir die Fußägel hoch).

Was ich halt immer toll finde, ist was „visuell-interaktives“. Z.B. hatte ich kürzlich meine „TimeSeries“ mit meinem Flow-based-programming-Ding (was nicht privat ist…) verwurstet, um z.B. mal schauen zu können, was passiert, wenn man bei einer „verrauschten“ Time Series das Rauschen stärker oder ein MovingAverage breiter macht, indem man einfach an den JSpinnern zieht:

Ich finde, damit bekommt man ein viel besseres Gefühl dafür, was ein bestimmter Operator (im Datenfluss, der in der „Overview“ zu sehen ist) für Auswirkungen auf das Endergebnis hat…

Das Rote ist übrigens das Ergebnis der Berechnung von „perceptually important points“ (websuche), was anscheinend oft für „Pattern Recognition in Time Series“ verwendet wird. (Wenn man die einfach „runterimplementiert“, wie sie im Paper stehen, kann das Berechnen von 100 PIPs bei 100000 Datenpunkten schonmal 30 Sekunden dauern. Wenn man’s „richtig“ macht, sind’s dann halt nur 100 Millisekunden. D.h. das kann man auch interaktiv machen…).

Ja, das „TradingAllele“ wäre eben ein „atomarer Building Block einer Regel“. Die ganzen Begriffe/Beispiele, die du da benennst, kann ich so halt erstmal nicht einordnen. Ich hatte jetzt im wesentlichen das gegebene Beispiel verwendet. Dabei hatte ich schon ~„ein paar, wenige“ weitere Formen unterstützt, so dass die Regeln am Ende sowas sein könnten wie

CrossedUp(shortSma(12), longSma(34)) OR CrossedDown(rsi(56))
CrossedUp(rsi(23)) OR CrossedUp(shortSma(45), longSma(123)
CrossedDown(rsi(23)) OR CrossedDown(shortSma(45), longSma(123)
...

Aber die „Schwierigkeit“ (oder das, wo man die ganze Arbeit reinstecken könnte) wäre eben, dort sinnvoll andere Indikatoren zu erlauben. (Noch schwieriger wäre, nicht nur OR sondern auch AND und NOT zu erlauben, aber das kriegt man hin).

Ein Ziel könnte halt sein, dass man versucht, „gute“ Regeln zu finden, ohne zu viel Aufwand und Domänenwissen reinstecken zu müssen. Im Sinne von: „Generier’ mir mal 10 Regeln, die ‚gut‘ sind, und ich schau mir die dann in einem zweiten Schritt, als ‚Validierung‘, an, und beurteile (als Mensch) ob sie ‚sinnvoll‘ sind oder eine Mischung aus Glückstreffern und Overfitting“.

Du weißt ja sicher auch nicht, was die 100 Indicator-Implementierungen machen. Vielleicht wäre eine davon „gut“, um eine Entscheidung zu treffen? Na, lass’ halt einen Computer rausfinden, ob sie „gut“ ist. Ob sie „sinnvoll“ ist, bleibt dann immernoch dir überlassen :wink:

Könnt ihr mir vielleicht kurz etwas erklären? Ich habe gerade eine Denkblockade.

Also ich habe den VWAP berechnet und berechne die Distanz zum aktuellen Kurs so:

ClosePriceIndicator closePrice = new ClosePriceIndicator(series);

VWAPIndicator vwapIndicator = new VWAPIndicator(series, series.getBarCount());
double cp = closePrice.getValue(499).doubleValue();
double ci = (vwapIndicator.getValue(499).doubleValue() - cp) / (cp * 0.01) * 100.0;

a.vwap = (float) ci;

Wenn a.vwap < 0 ist (der VWAP liegt unter dem aktuellen Kurs), was gilt dann? Wenn a.vwap > 0 ist (der VWAP liegt über dem aktuellen Kurs), was gilt dann? Wenn a.vwap 0 nach oben hin passiert, was sollte man dann tun (VWAP kreuzt den Kurs nach oben)? Wenn a.vwap 0 nach unten hin passiert, was sollte man dann tun (VWAP kreuzt den Kurs nach unten)? Danke!

Ja so ziemlich genau das Art war das , ich finde leider die alten screenshots nicht mehr und den Code müsste ich wohl neu schreiben, Python und so :wink:

Interessanterweise (oder auch nicht wenn man das schon wusste) hingen die Ergebnisse davon ab, welchen Zeitraum ich wählte (die genauen weiss ich leider nicht mehr), aber es schien stark davon abzuhaengen, was sonst so am Markt los war (Panik vs Gier vs. Optimismus vs Langeweile). Ich meine in der „Optimismus“ Phase war es oft so, dass Montags/Dienstags fuer den SP500 die Preise am niedrigsten waren ueber die ganze Woche. Auch schienen die Bewegungen der Futures „ueber Nacht“ in dieser Phase meist positiv zu sein, nennt sich „buy at close, sell at open“, dieser Effekt wird dem Gamma/Vanna/Charm „Optionszeug“ zugeschrieben.

Ja da gibt es das eine oder andere Problem, wenn dann native Systemlibraries dazu kommen, gucke ich mit meinem Mac schon mal bloed aus der Waesche, aber es war bis jetzt kein Showstopper dabei, dafuer der eine oder andere Hack/Workaround.

Mir macht Python Spass (das hat mich selber ueberrascht), habe da aber auch ganz niedrige Ansprüche an meinem Code: „funktionierts?“

Der Riesenvorteil ist dann man sehr schnell Datenanalyse betreiben kann ohne ein richtiger (Python) Entwickler zu sein, pandas, numpy, matplotlib oder plotly, jupiter notebooks usw., da scheint sich sehr viel getan zu haben in den letzten 5 Jahren (Das sieht deinen Screenshots schon sehr ähnlich).

Mit pandas/numpy kann das ganze sogar sehr schnell sein wenn man die Logik „vektorisieren“ kann, zB. boolsche Ausdruecke eignen sich sehr gut dafür.

Mein Eindruck ist dass sogar die „ganz grossen“ Python zur Analyse oder Backtesting nutzten, und falls man etwas findet/bestätigt wird dass dann anders umgesetzt.
Aber ich hab auch gehört das im der Finanzwelt meist Excel verwendet wird, auch bei grossen Firmen.

Danke fuer den Tipp!
Ich stolpere so von einem „rabbit hole“ ins nächste, Mathe ist nicht meine Stärke lol, in meiner Naivität dachte ich sowas wie Peak Detection sollte ja nicht allzu kompliziert sein… finde dann viele Sammlungen wie zB hier von wegen wie hier, ein paar dutzend Stackoverflow Themen später, finde ich mich dann auf Topographic prominence - Wikipedia wieder :nerd_face:

Ich in schwer beeindruckt, dachte zuerst dass die TA lib mit genetischen Algos kommt bis dann der Groschen gefallen ist.
Die Begrifflichkeiten sind echt schräg, ich verstehe ja noch wenn etwas „traditionell“ benahmt wird („hit the bid“, „lift the offer“ usw.), allerdings habe ich oft den Eindruck dass man das mit Absicht gemacht hat um normale Menschen abzuschrecken.

Sehr interessant!
Es ist sehr ueblich mehrere Signale zu kombinieren um Rauschen (bzw. bewusste Manipulation/false positives) zu reduzieren. Ich bin ja nicht gut in Mathe wie gesagt, aber so wie ich das verstehe, wenn es mehrere verschiedene Indikatoren gibt die mit dem Markt korrelieren, müssten diese Indikatoren auch miteinander korrelieren was die Signale betrifft.

Das ist der Traum von vielen, speziell SW Entwickler sind erstaunlich weit verbreitet als Trader, ich selber hab die Erfahrung gemacht das fuer mich so ganz ohne Domänenwissen es nicht gut läuft weil ich keine echte Möglichkeit hatte zur Interpretation der sog. „Price Action“, waren alles nur Linien/Wellen :man_shrugging: Mit dem bisschen Verständnis das ich mir angeeignet habe fühle ich mich aber weniger verloren und bilde mir ein etwas vorsichtiger geworden zu sein.

Auf jeden fall bin ich bescheidener geworden was mich, meine Fähigkeiten und mein Kopfkino betrifft, man darf nicht vergessen das zB. JPM, Goldman Sachs etc. sehr viele, sehr gute, extrem hochbezahlte Physiker/Entwickler/Magier („Quants“) haben und auch soviel Geld und Einfluss dass im Vergleich dazu meine Meinung total irrelevant ist. Das sind jetzt nur die ganz grossen, da gibt es aber auch sehr viele Hedge Fonds und andere Firmen die da mitmischen mit jeweils ein paar hundert Millionen US Dollar.

Was ich so mitbekomme, viele Algos hören irgendwann auf profitabel zu sein, da liegt entweder daran dass sie nur in bestimmten 'Phasen" profitabel sind, oder dass jemand anderes darauf gekommen ist, dass es da etwas zu holen gibt.

Hehe ne ich kenne nur ein paar und von noch wenigeren die Implementierung, weil ich die mal selbst Implementiert habe (Tradingview zB. kann man mit Pinescript programmieren, schrecklich aber funzt).

Ein altes Sprichwort aus dem Bereich ist übrigens „You want to be right or you want to make money?“.

Ich trade selber (bis jetzt?) nur manuell.

Am VWAP selber, also der orangen Linie, mache ich keine neuen Positionen auf, schliesse meist longs oder shorts dort.
VWAP kann man als den „Durchschnittspreis“ sehen, also der „faire“ Preis.
Beim Traden willst du „unfaire“ Preise um einzusteigen, der Markt sollte diese wieder in einen fairen Bereich bewegen, dann steigst du wieder aus, mal so ganz simpel erklärt.
Bei mean reversion „spielt man von den Rändern zur Mitte“

Nochmal der Chart mit dem VWAP
Imgur

Also wichtig dass der Markt keinen starken Trend hat (wie in der letzten Session in diesem Chart), du willst ja „mean reversion“ spielen, deswegen in den roten Bereichen auf short und in den grünen Bereichen auf long, in beiden Fällen beim VWAP die Position schliessen.
Diese roten und grünen Bereiche sind quadratische (oder kubische?) Standardabweichungen.

Den Code fuer den Tradingview Indikator findest du hier: Ubuntu Pastebin

Das interessante ist wie die Standardabweichung berechnet wird:
dev = sqrt(max(v2sum/volumesum - myvwap*myvwap, 0))

Diesen Wert dann mit Faktoren (+/- 1.28, 2.01, 2.51, 3.09, 4.01) multiplizieren, dann sind diese Bänder im Chart, also deine Einstiegspunkte.
Sag bescheid wenn dir diese Formel nicht helfen, mein Python Code scheint komplexer als Pinescript (wird von Tradingview verwendet).

Hier doch nochmal der aktuelle BTCUSD chart mit VWAP und den Bändern

Passt gerade gut um zu zeigen wie Märkte zwischen Balance und Trend wechseln:
Nachdem grossen Move nach oben (mit viel! Volumen dahinter) kühlt der Markt ab und geht „seitwärts“, da funktionieren Mean Reversion Strategien recht gut weil ping pong zwischen „oben“ und „unten“ gespielt wird.

Man erklärt sich diesen Wechsel u.a. damit, dass nach einem grossen Move eine „Korrektur“ nötig ist.
Entweder korrigiert der Preis und geht wieder nach unten, das wäre die „correction in price“. Wenn der Preis länger seitwärts geht nennt sich das „correction in time“ und die Chancen steigen dass es nochmals nach oben geht („another leg up“).
Das ist erstmal direkt nicht zu Profit umzusetzen, kann aber helfen bei der Interpretation der Price Action.

Nebenbei, wenn man weder trend noch balance erkennt oder sonst wie keine gute Idee hat wohin es geht, kann man auch nicht traden :wink:
Manchmal sieht man es eben nicht was da gerade so los ist, kein Geld riskieren ist auch eine Position.

Wird wohl grob so ausgesehen haben: http://javagl.de/BoxPlots.gif ?

1 „Gefällt mir“

Ich muss mich noch mal bei Dir bedanken, ich habe damit für einen Großteil der Positionen innerhalb von 24h mindestens 10% gemacht. Es ist hilfreich, die Einstiegspunkte zu finden, und ein paar Minuten später geht der Preis nach oben, und ich muss auch nicht immer den Chart beobachten. Ich trade auch manuell, aber habe eine paar „Bulk-Funktionen“ geschrieben, und setze inzwischen auch auf „krasse“ Außenseiter wie BTT oder Waves.

So… jetzt muss ich aber mal versuchen, im eingeschneiten NRW zum Einkaufen zu laufen (RL-Shice). :blush:

Heute handle ich nicht mehr, weil das, laut 24-Stunden-Indikator, alles verdächtig nach unten geht:

image

(das soll ungefähr ein repräsentativer Schnitt sein) und von Short lasse ich lieber die Flossen.

So ähnlich, aber weniger sexy, also ohne Animation.

Frage: Hat jemand das mal gelesen: https://ieeexplore.ieee.org/document/8442069 ? Ich gehöre ja nicht zu dem kleinen Kreis derjenigen Personen, die Zugriff darauf haben. Konkret hätte ich zwei pragmatische Fragen, funktioniert das, und könnte man das in Java umsetzen?