Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kostenlose Historische EOD Daten
#62
Notiz 

RE: Kostenlose Historische EOD Daten

python - Test auf Überschneidungen (intersections )

>Test von 2 Funktionen auf Überschneidungen (script mit Beispiel)
>>spätere Anwendung z.B. EMA10 mit EMA20 auf Tagesdaten (EOD timeseries); siehe Beispiel zuvor.
>>oder buy/sell Signale mit indiv. Berechnungen
(ich weiss, es gibt bereits viele Tools; meist können sie aber nicht angepasst werden auf die indiv. Forderungen eines traders oder jede Anpassung kostet und rechnet sich nicht für Private).

Ref: weitere Abhandlungen sind zu finden unter:
https://stackoverflow.com/questions/2067...-two-lines

script:  ....erstaunlich....es läuft auf anhieb :-))

import numpy as np
import matplotlib.pyplot as plt
"""
Sukhbinder
5 April 2017
Based on:   
"""

def _rect_inter_inner(x1,x2):
    n1=x1.shape[0]-1
    n2=x2.shape[0]-1
    X1=np.c_[x1[:-1],x1[1:]]
    X2=np.c_[x2[:-1],x2[1:]]   
    S1=np.tile(X1.min(axis=1),(n2,1)).T
    S2=np.tile(X2.max(axis=1),(n1,1))
    S3=np.tile(X1.max(axis=1),(n2,1)).T
    S4=np.tile(X2.min(axis=1),(n1,1))
    return S1,S2,S3,S4

def _rectangle_intersection_(x1,y1,x2,y2):
    S1,S2,S3,S4=_rect_inter_inner(x1,x2)
    S5,S6,S7,S8=_rect_inter_inner(y1,y2)

    C1=np.less_equal(S1,S2)
    C2=np.greater_equal(S3,S4)
    C3=np.less_equal(S5,S6)
    C4=np.greater_equal(S7,S8)

    ii,jj=np.nonzero(C1 & C2 & C3 & C4)
    return ii,jj

def intersection(x1,y1,x2,y2):
    """
INTERSECTIONS Intersections of curves.
  Computes the (x,y) locations where two curves intersect.  The curves
  can be broken with NaNs or have vertical segments.
usage:
x,y=intersection(x1,y1,x2,y2)
    Example:
    a, b = 1, 2
    phi = np.linspace(3, 10, 100)
    x1 = a*phi - b*np.sin(phi)
    y1 = a - b*np.cos(phi)
    x2=phi   
    y2=np.sin(phi)+2
    x,y=intersection(x1,y1,x2,y2)
    plt.plot(x1,y1,c='r')
    plt.plot(x2,y2,c='g')
    plt.plot(x,y,'*k')
    plt.show()
    """
    ii,jj=_rectangle_intersection_(x1,y1,x2,y2)
    n=len(ii)

    dxy1=np.diff(np.c_[x1,y1],axis=0)
    dxy2=np.diff(np.c_[x2,y2],axis=0)

    T=np.zeros((4,n))
    AA=np.zeros((4,4,n))
    AA[0:2,2,:]=-1
    AA[2:4,3,:]=-1
    AA[0::2,0,:]=dxy1[ii,:].T
    AA[1::2,1,:]=dxy2[jj,:].T

    BB=np.zeros((4,n))
    BB[0,:]=-x1[ii].ravel()
    BB[1,:]=-x2[jj].ravel()
    BB[2,:]=-y1[ii].ravel()
    BB[3,:]=-y2[jj].ravel()

    for i in range(n):
        try:
            T[:,i]=np.linalg.solve(AA[:,:,i],BB[:,i])
        except:
            T[:,i]=np.NaN


    in_range= (T[0,:] >=0) & (T[1,:] >=0) & (T[0,:] <=1) & (T[1,:] <=1)

    xy0=T[2:,in_range]
    xy0=xy0.T
    return xy0[:,0],xy0[:,1]


if __name__ == '__main__':

    # a piece of a prolate cycloid, and am going to find
    a, b = 1, 2
    phi = np.linspace(3, 10, 100)
    x1 = a*phi - b*np.sin(phi)
    y1 = a - b*np.cos(phi)

    x2=phi
    y2=np.sin(phi)+2
    x,y=intersection(x1,y1,x2,y2)
    plt.plot(x1,y1,c='r')
    plt.plot(x2,y2,c='g')
    plt.plot(x,y,'*k')
    plt.show()


Angehängte Dateien    


Nachrichten in diesem Thema
Kostenlose Historische EOD Daten - von atze2000 - 18.11.2018, 11:34
RE: Kostenlose Historische EOD Daten - von Solventix - 21.11.2018, 00:26
RE: Kostenlose Historische EOD Daten - von Guhu - 21.11.2018, 11:52
RE: Kostenlose Historische EOD Daten - von Solventix - 21.11.2018, 16:21
RE: Kostenlose Historische EOD Daten - von Solventix - 21.11.2018, 20:22
RE: Kostenlose Historische EOD Daten - von Solventix - 21.11.2018, 22:03
RE: Kostenlose Historische EOD Daten - von Faultier - 12.02.2019, 12:30
RE: Kostenlose Historische EOD Daten - von Beth - 24.11.2018, 23:28
RE: Kostenlose Historische EOD Daten - von Beth - 25.11.2018, 19:43
RE: Kostenlose Historische EOD Daten - von Solventix - 26.11.2018, 14:59
RE: Kostenlose Historische EOD Daten - von Solventix - 30.11.2018, 06:58
Für Faule - von Beth - 29.11.2018, 14:30
RE: Kostenlose Historische EOD Daten - von Faultier - 07.02.2019, 14:42
RE: Kostenlose Historische EOD Daten - von divipedia - 07.02.2019, 14:43
RE: Kostenlose Historische EOD Daten - von Guhu - 29.01.2020, 13:15
RE: Kostenlose Historische EOD Daten - von Un_fass_bar - 25.04.2020, 10:17
RE: Kostenlose Historische EOD Daten - von jf2 - 25.04.2020, 20:18
RE: Kostenlose Historische EOD Daten - von Un_fass_bar - 25.04.2020, 13:55
RE: Kostenlose Historische EOD Daten - von Un_fass_bar - 25.04.2020, 20:24
RE: Kostenlose Historische EOD Daten - von jf2 - 25.04.2020, 20:30
RE: Kostenlose Historische EOD Daten - von Un_fass_bar - 25.04.2020, 21:14
RE: Kostenlose Historische EOD Daten - von Noni-Binder - 05.07.2020, 11:55

Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Notiz Open Source Tools und Daten Lancelot 43 12.458 09.01.2024, 15:08
Letzter Beitrag: Lancelot
Notiz suche historische Leitzinsen der Bundesbank seit 1965 frank 2 2.553 22.09.2020, 19:55
Letzter Beitrag: muchmoney
Notiz EOD Daten Feeds atze2000 7 8.806 08.02.2019, 12:59
Letzter Beitrag: Noni-Binder
Notiz Historische Indexzusammensetzung atze2000 4 5.448 31.01.2019, 10:31
Letzter Beitrag: pjf
Notiz Free Future Daten atze2000 0 2.163 11.01.2019, 13:27
Letzter Beitrag: atze2000
Notiz Cot Daten atze2000 2 3.518 10.01.2019, 19:46
Letzter Beitrag: atze2000

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste