2016-12-21 1 views
0

In dem Buch „Clojure für Finanzen“ arbeitet fand ich eine Funktion wie folgt aus:Erklären Sie, wie diese Stochastik Funktion

(defn stochastic-k [last-price low-price high-price] 
    (let [hlrange (- high-price low-price) 
     hlmidpoint (/ hlrange 2) 
     numerator (if (> last-price hlmidpoint) 
        (- last-price hlmidpoint) 
        (- hlmidpoint low-price))] 
    (/ numerator hlrange))) 

Der Autor beschreibt sie als:

stochastischen-k: Dies gibt uns unser Prozentsatz der Preisbewegung des Hoch-/Niedrigpreises.

(Zitat und Code von "Clojure for Finance" von Timothy Washington)

habe ich versucht, die Funktion in der REPL, aber es ist Ausgabe macht keinen Sinn für mich machen:

user=> (println (stochastic-k 18 13 23)) 
13/10 

Also das Ergebnis ist 1.3, aber ich würde eigentlich 1.0 erwarten, denn 18 ist der Mittelpunkt des Bereichs von 13 bis 23, soweit ich das beurteilen kann.

Kann mir jemand erklären, wie die Funktion funktionieren soll?

+0

Ich denke, es ist entweder ein Tippfehler oder ein Fehler. Die Berechnung stimmt nicht mit der Definition von 'stochastic-k' überein. –

+0

@AlanThompson Ich glaube, wenn ich über' stochastik-k' rede, denke ich, dass der Autor das umsetzen wollte? https://en.wikipedia.org/wiki/Stochastic_oscillator – Max

Antwort

1

Es scheint, ein Fehler in der Implementierung meiner Meinung nach. Ich denke, der Zähler soll wie:

numerator (if (> last-price hlmidpoint) 
        (- last-price hlmidpoint) 
        (- hlmidpoint last-price)) 

Und dann würde die Funktion einen Bruchteil produzieren darstellt, wie viel kostet die last-price aus dem Durchschnittspreis im Bereich unterscheiden.

+0

Gibt es eine Dokumentation der Funktion, die der Autor zu implementieren versucht? Ich verstehe immer noch nicht ganz, wie ich das Outout interpretiere. – Max

+1

@Max Ich glaube, es ist dies: http://www.tradingsolutions.com/functions/StochasticOscillator.html Allerdings bin ich kein Experte und obwohl es intuitiv sehr einfach scheint, finde ich die Terminologie etwas verwirrend –

+0

Danke, ich dachte bereits, dass die Implementierung falsch ist, da die Ausgabe keinen Sinn ergibt. Leider ist das nicht der einzige Fehler in den Buchcodebeispielen, es gibt einige sehr offensichtliche Syntaxfehler. – Max

Verwandte Themen