Re: [python] Nejvyšší číslo z databáze - řazení

2018-08-23 Tema obsahu radekmesner
Děkuji za rady a trpělivost, kterou se mnou máte, vážím si toho :)
Už jsem zase o kousek chytřejší, ale jen nevím, jak vypočítat ty hodnoty.

Mám sloupec High, mám sloupec Low a potřeboval bych s nimi počítat.

(# 100 * (Nejvyšší High za poslední 4 úsečky – Close)/(Nejvyšší High za 
poslední 4 úsečky/Nejnižší Low za poslední 4 úsečky) )

Možná to vůbec nejde
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Nejvyšší číslo z databáze - řazení

2018-08-22 Tema obsahu radekmesner
Jirka Vejrazka: Používám sqlite3 a pandas,  tahám z yahoo finance.

Petr Messner: Omlouvám se, nevím co nebo jak udělat unit test. Tohle je 
konkrétní případ. 

Každý den stáhnu data z yahoo finance, naplním databázi, z které potom filtruji 
data, které splňují podmínku (- vypíše konkrétní položky) a ty chci právě 
seřadit podle "PositionScore".
 Snad to dává aspoň trochu smysl.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] Nejvyšší číslo z databáze - řazení

2018-08-22 Tema obsahu radekmesner
Dobrý den,
mám tady další problém, který se mi nedaří rozluštit.

Mám určitou databázi dat a ty data, které splňují určité podmínky se mi 
vypisují. 

Tyto vypsané data bych chtěl ještě seřadit dle dalšího kritéria. Jenže nedaří 
se. Viz níže kód.

Co dělám špatně?


# 100 * (Nejvyšší High za poslední 4 úsečky – Close)/(Nejvyšší High za poslední 
4 úsečky/Nejnižší Low za poslední 4 úsečky)

# výpočet PositionScore
def POSscore (data):
  val = 100 * (max(data['High'.shift(4)]) 
- 'Close')/(max(data['High'.shift(4)]) / (min(data['High']))

  return val

fbll = fbll.sort_values(by=['POSscore'], ascending=False)

Děkuji za případnou další pomoc.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Nejvyšší číslo z databáze - řazení

2018-08-27 Tema obsahu radekmesner
Petr Messner: Děkuji moc, to vypadá slibně.

Jen mám otázku k:

csv_data = dedent('''\
n;low;high;close
1;100;120;110
2;110;130;120
3;115;135;125
4;110;140;140
5;100;130;120
6;100;120;100
7;150;160;160
''')
df = pd.read_csv(StringIO(csv_data), sep=';')

.. za dedent musím hodnoty vypisovat ručně? Nelze je natáhnout z databáze? 
Nevím který "n" bude splňovat ten den podmínku. "N" se každý den mění.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Nejvyšší číslo z databáze - řazení

2018-08-27 Tema obsahu radekmesner
=  FBLL (SP100.csv) ===
 Date TickerOpenHigh Low   Close SMA
0  2018-08-24AGN  186.71  187.44  185.62  186.86  168.10
1  2018-08-24   AMGN  196.88  197.50  195.60  196.64  183.86
2  2018-08-24 CL   66.55   67.01   66.34   66.88   65.53
3  2018-08-24DIS  111.63  112.70  111.44  111.93  105.80
4  2018-08-24FOX   44.71   44.78   44.52   44.58   41.81
5  2018-08-24   FOXA   45.25   45.36   45.15   45.17   42.24
6  2018-08-24 KO   45.65   45.80   45.58   45.63   44.13
7  2018-08-24LMT  320.00  321.39  318.72  321.29  320.01
8  2018-08-24 MO   59.25   59.37   58.55   58.78   57.88
9  2018-08-24WMT   95.09   95.66   94.35   94.95   86.88


Tohle se mi vypíše, když se script dokončí. Ticker a hodnoty (open,high...) se 
každý den mění, dle pravidel scriptu.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] Plánovač úloh a Python

2018-07-23 Tema obsahu radekmesner
Dobrý den,
předem  bych se chtěl omluvit za moji totální neznalost jazyka pythonu, ale 
každý někdy začínal :)

Mám funkční skript, který potřebuji spouštět v určitý čas. Proto jsem si 
vytvořil ve Win 7 událost. Jenže po spuštění skriptu se data ukládají do složky 
windows\system32 a ne do složky Pythonu, kam se data ukládají, když skript 
spustím přes IDLE. Potřebuji, aby se data ukládaly právě do složky Python. 

Zkoušel jsem zapínat/vypínat kolonku "Spustit s nejvyššími oprávněními", 
přihlásit se jako standardní uživatel/administrátor, ale nic nepomohlo.

Nemáte někdo prosím nápad, jak to vyřešit?
Děkuji mnohokrát.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Plánovač úloh a Python

2018-07-23 Tema obsahu radekmesner
Děkuji mnohokrát za všechny odpovědi a vaše reakce. Jsem z toho zmatený, asi se 
budu dále ptát, jako největší blbec + moje malá znalost anglického jazyka.

starenka: os.expandvars mi nějak nefunguje, nejsem z toho moudrý

Petr Messner: Otevírám přes Total Commander, najedu na soubor a dám enter. Pro 
úpravy otevírám v programu IDLE. Nevím, jak to myslíte, jak jinak otvírat.

Petr Blahos: Nějak jsem nepochopil, jak vytvořím cmd soubor. Při spuštění 
skriptu přes zmíněný TC se cmd/příkazová řádka otevře, kde skript běží a 
stahuje data.

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Plánovač úloh a Python

2018-07-23 Tema obsahu radekmesner
Dává to smysl.

Jen nechápu poslední odstavec. Nevím, kam napsat open('C:/data/soubor.txt').
Nemělo by tam být spíš něco jako write('a cesta kam se uloží, aby to nebylo 
system32')?
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] pandas to excel bez přepsání původních hodnot

2019-05-20 Tema obsahu radekmesner
Dobrý den,
mám tady další velice (určitě pro vás) jednoduchý problém, s kterým se nedokážu 
poprat.

Mám napsaný skript, který mi každý den vypíše data a exportuje do .xlsx 
souboru, kde filtruji do dvou sheets (BOT, SLD).

Potřeboval bych, aby se další den hodnoty doplnily na nový řádek opět podle 
filtru (BOT, SLD). Takhle se tabulka pokaždé přepíše.


# získání informace o vyplněných příkazech

exekuce = (e for e in ib.fills() if e.contract.secType == "STK")
exekuce = 
[(e.contract.symbol,e.time,e.execution.side,e.execution.shares,e.execution.avgPrice,e.execution.orderRef)
 
   for e in exekuce]
exe=pd.DataFrame(exekuce, columns=['symbol', 'cas','smer','akcii','cena','ref'])
#exe['cas'] = pd.to_datetime(exe['cas'], format="%m/%d/%Y")
exe.set_index("symbol",inplace=True)
print(exe)

# DataFrame si pro kontrolu vypíšeme
exe

# Uložíme do excelu, zvlášť nákup a zvlášť prodej
exe_bot = exe[exe['smer']=='BOT']
exe_sld = exe[exe['smer']=='SLD']

with pd.ExcelWriter('exekuce.xlsx') as writer:
exe_bot.to_excel(writer, sheet_name='Nákup')
exe_sld.to_excel(writer, sheet_name='Prodej')



Děkuji za případnou pomoc. Předem upozorňuji, že jsem naprostý začátečník, tak 
snad je to srozumitelné.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz