Add piker chart command

bar_select
Tyler Goodlet 2020-06-10 13:56:09 -04:00
parent b670af484c
commit 2ad3b6f080
3 changed files with 35 additions and 22 deletions

View File

@ -1,9 +1,11 @@
"""
Console interface to UI components.
"""
from datetime import datetime
from functools import partial
import os
import click
import trio
import tractor
from ..cli import cli
@ -103,3 +105,33 @@ def optschain(config, symbol, date, tl, rate, test):
loglevel=loglevel if tl else None,
start_method='forkserver',
)
@cli.command()
@click.option('--tl', is_flag=True, help='Enable tractor logging')
@click.option('--date', '-d', help='Contracts expiry date')
@click.option('--test', '-t', help='Test quote stream file')
@click.option('--rate', '-r', default=1, help='Logging level')
@click.argument('symbol', required=True)
@click.pass_obj
def chart(config, symbol, date, tl, rate, test):
"""Start an option chain UI
"""
from .qt._exec import run_qtrio
from .qt._chart import QuotesTabWidget
from .qt.quantdom.base import Symbol
from .qt.quantdom.loaders import get_quotes
async def plot_symbol(widgets):
qtw = widgets['main']
s = Symbol(ticker=symbol, mode=Symbol.SHARES)
get_quotes(
symbol=s.ticker,
date_from=datetime(1900, 1, 1),
date_to=datetime(2030, 12, 31),
)
# spawn chart
qtw.update_chart(s)
await trio.sleep_forever()
run_qtrio(plot_symbol, (), QuotesTabWidget)

View File

@ -0,0 +1,3 @@
"""
Super hawt Qt UI components
"""

View File

@ -5,7 +5,6 @@ Run ``trio`` in guest mode on top of the Qt event loop.
All global Qt runtime settings are mostly defined here.
"""
import traceback
from datetime import datetime
import PyQt5 # noqa
from pyqtgraph import QtGui
@ -15,10 +14,6 @@ import qdarkstyle
import trio
from outcome import Error
from _chart import QuotesTabWidget
from quantdom.base import Symbol
from quantdom.loaders import get_quotes
# Taken from Quantdom
class MainWindow(QtGui.QMainWindow):
@ -98,20 +93,3 @@ def run_qtrio(
window.setCentralWidget(instance)
window.show()
app.exec_()
async def plot_aapl(widgets):
qtw = widgets['main']
s = Symbol(ticker='AAPL', mode=Symbol.SHARES)
get_quotes(
symbol=s.ticker,
date_from=datetime(1900, 1, 1),
date_to=datetime(2030, 12, 31),
)
# spawn chart
qtw.update_chart(s)
await trio.sleep_forever()
if __name__ == '__main__':
run_qtrio(plot_aapl, (), QuotesTabWidget)