Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Diskuze k článku: Bezplatný Quandl a jeho nasazení do „workflow“ hledání korelací


Doporučené příspěvky

Dobry vecer, Petre,
dekuji za velmi uzitecny clanek: o zminovanych nastrojich vim, ale zatim jsem se nedostal k aktivnimu pouzivani. Bohuzel
nedokazu si tak uplne poradit s Vasim kodem.

V jakem prostredi to spoustite. Podle toho procenta na zacatku jednoho z radku se jedna o iPython, se kterym mam nulovou zkusenost. Pouzivate snad Anacondu a Jupyter? Muzete mne nejakym smerem nakopnout?

Dekuji,
T.

Link to comment
Sdílet pomocí služby

Ano, prostředí je Jupyter notebook.

Vše mám nainstalované přes Anaconda distribuci:

www.continuum.io/downloads

Zvolil bych verzi Python 3.5. Mělo by se vám stáhnout vše, co budete potřebovat. Instalátor udělá vše za vás.

Po instalaci Anacondy si otevřete příkazový řádek a zadejte například: ipython notebook. Instalace si patrně vytvoří i nějakou spustitelnou ikonu do menu Windows.

Mělo by se vám zobrazit prostřední notebooku, vytvořte si nový notebook a můžete začít experimentovat.
Jde to ale pochopitelně i celou řadou jiných způsobů. Více programátorsky můžete psát v nějakém IDE jako je třeba pyCharm.

Ale mě osobně Jupyter notebook dost vyhovuje, protože člověk může vše zkoušet "krok za krokem".

Link to comment
Sdílet pomocí služby

Dekuji moc ze vcelku vyraznou pomoc. Jdu se do toho vecer ponorit, prisel jste mi vhod s tou korelacni matici. Jako puvodem UNIXak, i kdyz neprogramator, zkusim jeste pyCharm, protoze Anacondu jsem uz nainstaloval a trochu mne to vydesilo :-)

Mimochodem, mohl bych na Vas zkusit jeste jeden dotaz? Pred nejakou dobou jste psal (nebo jsem to tak pochopil), ze s vyuzitim Pythonu obchodujete opce a (a planujete automaticke exekuce). Nevim, zda k tomu pouzivate brokera a data z IB, ale pokud ano, zajimalo by mne, zda se z IB daji nejak brat aktualni data Implied Volatility u akcii. Nekolikrat jsem to zkoumal v popisech IB API, ale neprisel jsem na to. Jen mne napadlo, ze nejake funkce tam v API k tomu jsou, ale spis to na mne delalo dojem, ze to funguje vypoctem pres Black-Scholes model. Pritom mi jde jen o hodnotu IV, kterou si kazdy velice snadno muze zobrazit v TWS.

Za nasmerovani bych bych velmi vdecny, chystam se nejak zautomatizovat Cash Secured Put strategii.
T.

Link to comment
Sdílet pomocí služby

Jo, jeste takova malickost: zaujaly mne i konkretni korelace mezi akciemi, napr. dvojici MMM - CVX bych teda nehadal.

Pri blizsim zkoumani matice jsem si pak vsiml, ze nejakym nedopatrenim budto uz z dat, nebo jen z popisku vypadlo jedno pismenko K: O je sice celkem zajimava akcie, ale v DJ indexu je KO, matka vsech tloustiku a zkazenych zubu :-) To jen na okraj, jako dukaz, ze Vase clanky skutecne ctu - a verim, ze nejsem sam.

Link to comment
Sdílet pomocí služby

ad opce. Na automatizaci exekucí opcí se taky teprve chystám. Toto dotažené zatím nemám a Python používám v této oblasti jen pro výzkum různých tendencí atd.
Ad ukázka v článku - toto byla skutečně jen ukázka, jak jdou v Pythonu popisované principy dělat velmi jednoduše. Samotné tickery jsem nekontroloval.

Link to comment
Sdílet pomocí služby

Díky za článek, tohle se mi zrovna docela hodí. Plánuju nějaké nenáročné swingové obchodování s akciemi na NASDAQ a NYSE, rád bych udělal automat, který mi z těch tisíců titulů vyhodnotí ty nejlepší, které mezi sebou nebudou příliš korelovat.
Chystal jsem se udělat nějaký parser, který mi ze stránek těch burz (případně z Yahoo finance nebo něčeho podobného) vytahá aktuální informace, které můžu dál zpracovat. Tohle mi ušetří dost práce.
Python používám roky (jsem profesí IT), je to skvělá věc.

Link to comment
Sdílet pomocí služby

  • 1 year later...

Poradí někdo?

 Nainstaloval jsem Python 3.6 z Anakondy, verze Windows 32bit.

Zde (https://pypi.python.org/pypi/Quandl#downloads) jsem si stáhnu balíček Quandl pro Python. Když Jupyter notebooku když dám tento příkaz: „$ pip install quandl“ tak to hodí chybu syntaxe.
Když dám „pip install quandl“ tak to napíše že to musím spouště mimo IPython shell – viz obr. v příloze.

Když spustím konzoli pro Python , a zadávám to do řádkového příkazu, tak to také háže chybu „syntaxError“

Ještě jsem zkoušel tyto příkazy:
$ easy_install quandl a
easy_install quandl, a stejný výsledek.

Co dělám špatně? A také mě není jasné, kde zadám cestu k tomu staženému balíčku.

Screenshot-2017-11-9 Untitled6.png

Link to comment
Sdílet pomocí služby

Přeji dobrý den,

a potřebujete k tomu instalovat nějaký modul od Quandlu ? Na download stačí 3 řádky bez dalších knihoven ... :

   cHTTP     ="https://www.quandl.com/api/v1/datasets/WIKI/"+ticker+".csv?auth_token="+cToken+"&trim_start="+cDateStart+"&trim_end="+cDateEnd
   url       =urllib.request.urlopen(cHTTP)
   dReader   =csv.reader(url.read().decode('utf-8').splitlines(),delimiter=",")

.......
   data=[]
   for row in dReader:
    data.append(row)

.......

cDateStart/cDateEnd má formát yyyy-mm-dd

cToken je klíč od Quandlu

 

S pozdravem kbtm

 

 

Link to comment
Sdílet pomocí služby

S Pythonem teprve začínám, a chtěl jsem data importovat tímto příkazem, jak to ukázal Petr:

data=quandl.get(["wiki/pep.11","wiki/ko.11"],start_date="2016-01-01")

A když tento příkaz zadám do Pythonu, tak to napíše, že quandl nezná.

Tento způsob bez knihoven mi připadá takový složitý. Až budu u Pythonu tak ho zkusím rozluštit a vyzkoušet.

 

 

Link to comment
Sdílet pomocí služby

Tak jsem tu variantu bez knihovny Quandlu rozchodil se všemi formalitami (toto je můj první kod v Pythonu), kdyby někdo chtěl začít jako já, tak tady je vzor:

import urllib.request
import csv
ticker = "pep"
cToken = "**********************"
cDateStart = "2016-01-11"
cDateEnd = "2017-08-01"

cHTTP = "https://www.quandl.com/api/v1/datasets/WIKI/"+ticker+".csv?auth_token="+cToken+"&trim_start="+cDateStart+"&trim_end="+cDateEnd
url = urllib.request.urlopen(cHTTP)
dReader = csv.reader(url.read().decode('utf-8').splitlines(),delimiter=",") 

data=[]
for row in dReader:
 data.append(row) #append přidá na konec seznamu
print (data)

Takže dostanu takováto data, ze kterých ještě musím vypreparovat jen tu jednu hodnotu ze 12 hodnot, a je s tím další práce (takže teď ještě laboruji, jak to dostat do CSV souboru):

[['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Ex-Dividend', 'Split Ratio', 'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close', 'Adj. Volume'], ['2017-08-01', '116.69', '116.78', '115.9', '115.92', '2860667.0', '0.0', '1.0', '115.87989737398', '115.96927256263', '115.09538182916', '115.11524298219', '2860667.0'], ['2017-07-31', '116.53', '116.86', '116.18', '116.61', '3083736.0', '0.0', '1.0', '115.72100814971', '116.04871717477', '115.37343797163', '115.80045276185', '3083736.0'] ... atd

 

Takže stejně ten modul Quandlu potřebuji  do Pythonu nainstalovat. Jak jsem uvedl příkaz v příspěvku výše, tak je velmi jednoduchý, a už mě vytáhne jen to co potřebuji, a mám to bez práce.

Upraveno uživatelem atari
Link to comment
Sdílet pomocí služby

... a má to navíc výhodu, že stejným způsobem dostanete data z Gůglu :

   cHTTP     ="http://www.google.com/finance/historical?q="+ticker+"&startdate="+cDateStart+"&enddate="+cDateEnd+"&output=csv"
   url       =urllib.request.urlopen(cHTTP)
   dReader   =csv.reader(url.read().decode('utf-8').splitlines(),delimiter=",")
   data=[]
   for row in dReader:
    data.append(row)

Jen cDateStart/cDateEnd  má tvar mm/dd/yyyy')

Link to comment
Sdílet pomocí služby

×
×
  • Vytvořit...