mirror of
https://github.com/bspeice/metrik
synced 2024-11-23 15:48:10 -05:00
Add NASDAQ processing
This commit is contained in:
parent
49953e9da4
commit
d1d58a1bd7
@ -1,2 +1,2 @@
|
|||||||
__version__ = '0.1.2'
|
__version__ = '0.2.0'
|
||||||
__release__ = __version__
|
__release__ = __version__
|
@ -11,8 +11,8 @@ flows = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def run_flow(flow_class, present):
|
def run_flow(flow_class, present, live):
|
||||||
build([flow_class(present=present)])
|
build([flow_class(present=present, live=live)])
|
||||||
|
|
||||||
|
|
||||||
def build_cron_file():
|
def build_cron_file():
|
||||||
@ -30,10 +30,11 @@ def build_cron_file():
|
|||||||
|
|
||||||
|
|
||||||
def list_flows():
|
def list_flows():
|
||||||
return "Avaiable:\n\t" + "\n\t".join(flows.keys())
|
return "Available:\n\t" + "\n\t".join(flows.keys())
|
||||||
|
|
||||||
|
|
||||||
def handle_commandline():
|
def handle_commandline():
|
||||||
|
present_moment = datetime.now()
|
||||||
parser = ArgumentParser(description='Capture ALL THE DATA off the Internet.')
|
parser = ArgumentParser(description='Capture ALL THE DATA off the Internet.')
|
||||||
parser.add_argument('-c', '--cron', dest='cron', action='store_true',
|
parser.add_argument('-c', '--cron', dest='cron', action='store_true',
|
||||||
help='Build the cron file used to schedule'
|
help='Build the cron file used to schedule'
|
||||||
@ -41,7 +42,7 @@ def handle_commandline():
|
|||||||
parser.add_argument('-d', '--date', dest='present',
|
parser.add_argument('-d', '--date', dest='present',
|
||||||
help='Run a flow as if it was this time '
|
help='Run a flow as if it was this time '
|
||||||
'(default: %(default)s).',
|
'(default: %(default)s).',
|
||||||
default=datetime.now())
|
default=present_moment)
|
||||||
parser.add_argument('-f', '--flow', dest='flow', help='The flow to be run')
|
parser.add_argument('-f', '--flow', dest='flow', help='The flow to be run')
|
||||||
parser.add_argument('-l', '--list-flows', dest='list', action='store_true',
|
parser.add_argument('-l', '--list-flows', dest='list', action='store_true',
|
||||||
help='List all available flows to be run.')
|
help='List all available flows to be run.')
|
||||||
@ -53,9 +54,9 @@ def handle_commandline():
|
|||||||
print(list_flows())
|
print(list_flows())
|
||||||
elif args.flow:
|
elif args.flow:
|
||||||
if type(args.present) is datetime:
|
if type(args.present) is datetime:
|
||||||
run_flow(flows[args.flow], args.present)
|
run_flow(flows[args.flow], args.present, True)
|
||||||
else:
|
else:
|
||||||
run_flow(flows[args.flow], parse(args.present))
|
run_flow(flows[args.flow], parse(args.present), False)
|
||||||
else:
|
else:
|
||||||
print("No actions specified, exiting.")
|
print("No actions specified, exiting.")
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from luigi.task import WrapperTask
|
from luigi.task import WrapperTask
|
||||||
from luigi.parameter import DateMinuteParameter
|
from luigi.parameter import DateMinuteParameter, BoolParameter
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
||||||
from metrik.trading_days import is_trading_day
|
from metrik.trading_days import is_trading_day
|
||||||
@ -7,6 +7,7 @@ from metrik.trading_days import is_trading_day
|
|||||||
|
|
||||||
class Flow(WrapperTask):
|
class Flow(WrapperTask):
|
||||||
present = DateMinuteParameter()
|
present = DateMinuteParameter()
|
||||||
|
live = BoolParameter()
|
||||||
|
|
||||||
def __init__(self, force=False, *args, **kwargs):
|
def __init__(self, force=False, *args, **kwargs):
|
||||||
super(Flow, self).__init__(*args, **kwargs)
|
super(Flow, self).__init__(*args, **kwargs)
|
||||||
|
13
metrik/flows/equities_flow.py
Normal file
13
metrik/flows/equities_flow.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
from metrik.flows.base import Flow, MarketClose
|
||||||
|
from metrik.tasks.nasdaq import NasdaqETFList, NasdaqCompanyList
|
||||||
|
|
||||||
|
|
||||||
|
class EquitiesFlow(Flow):
|
||||||
|
@staticmethod
|
||||||
|
def get_schedule():
|
||||||
|
MarketClose()
|
||||||
|
|
||||||
|
def _requires(self):
|
||||||
|
return [NasdaqETFList(current_datetime=self.present, live=self.live),
|
||||||
|
NasdaqCompanyList(current_datetime=self.present,
|
||||||
|
live=self.live)]
|
Loading…
Reference in New Issue
Block a user