def opt_alanapi(): parser = OptionParser(usage="usage: %prog [option] SYMBOL ...", version="%prog 0.7", description="API for ALAN") parser.add_option("-s","--start",action="store",dest="start", help="start YYYY-MM-DD (default: 3-year-ago)") parser.add_option("-e","--end",action="store",dest="end", help="end YYYY-MM-DD (default: today)") parser.add_option("","--src",action="store",dest="src",default="iex", help="source [fred|yh|iex](default: iex)") parser.add_option("","--host",action="store",dest="hostname",default="localhost", help="db host (default: localhost)") parser.add_option("","--database",action="store",dest="dbname",default="ara", help="database (default: eSTAR_2)") parser.add_option("-t","--table",action="store",dest="tablename", help="db tablename (default: None)") parser.add_option("","--field",action="store",dest="field",default="*", help="database column field (default: *)") parser.add_option("","--instrument",action="store",dest="instrument",default="stock", help="instrument type [stock|macro] (default: None)") parser.add_option("-o","--output",action="store",dest="output", help="output type [json|csv|html] (default: None)") parser.add_option("-l","--lang",action="store",dest="lang",default="en", help="language (default: en)") parser.add_option("","--search",action="store",dest="search", help="SEARCH action (default: None)") parser.add_option("","--topic",action="store",dest="topic", help="TOPIC to search (default: None)") parser.add_option("","--subtopic",action="store",dest="subtopic", help="SUBTOPIC (default: None)") parser.add_option("","--extra_js",action="store",dest="extraJS", help="extra JSON in DICT format.") parser.add_option("","--extra_xs",action="store",dest="extraXS", help="extra excutable string in k1=v1;k2=v2; format") parser.add_option("","--debug",action="store_true",dest="debugTF",default=False, help="debugging (default: False)") (options, args) = parser.parse_args() try: opts = vars(options) from _alan_str import extra_opts extra_opts(opts,xkey='extraJS',method='JS',updTF=True) extra_opts(opts,xkey='extraXS',method='XS',updTF=True) opts.pop('extraXS',None) opts.pop('extraJS',None) except Exception as e: sys.stderr.write("**ERROR:{} @{}\n".format(str(e),'opt_csv2plot')) return opts, args
def opt_theme_list(argv, retParser=False): """ command-line options initial setup Arguments: argv: list arguments, usually passed from sys.argv retParser: OptionParser class return flag, default to False Return: (options, args) tuple if retParser is False else OptionParser class """ parser = OptionParser( usage="usage: %prog [option] METHOD", version="%prog 0.7", description="get sp500_component and save to MDB::sp500_component") parser.add_option("", "--no_database_save", action="store_false", dest="saveDB", default=True, help="no save to database (default: save)") parser.add_option("", "--extra_js", action="store", dest="extraJS", help="extra JSON in DICT format.") parser.add_option("", "--extra_xs", action="store", dest="extraXS", help="extra excutable string in k1=v1;k2=v2; format") parser.add_option("", "--debug", action="store_true", dest="debugTF", default=False, help="debugging (default: False)") (options, args) = parser.parse_args(argv[1:]) if retParser is True: return parser opts = vars(options) try: from _alan_str import extra_opts extra_opts(opts, xkey='extraJS', method='JS', updTF=True) extra_opts(opts, xkey='extraXS', method='XS', updTF=True) except Exception as e: sys.stderr.write("**ERROR: {}\n".format(str(e))) return (opts, args)
def opt_lsi_mkt(argv, retParser=False): """ command-line options initial setup Arguments: argv: list arguments, usually passed from sys.argv retParser: OptionParser class return flag, default to False Return: (options, args) tuple if retParser is False else OptionParser class """ parser = OptionParser( usage="usage: %prog [option]", version="%prog 0.655", description="Create market commentary based on macro list") parser.add_option("", "--region", action="store", dest="region", default="US", help="region [TW|US] (default: US)") parser.add_option("-d", "--database", action="store", dest="dbname", default="ara", help="database name (default: ara)") parser.add_option("", "--host", action="store", dest="hostname", default="localhost", help="db host name (default: localhost)") parser.add_option("-t", "--table", action="store", dest="tablename", help="db tablename (default: None)") parser.add_option( "", "--dirname", action="store", dest="dirname", help="db dirname to save all mktCmt comments (default: None)") parser.add_option( "-w", "--wmode", action="store", dest="wmode", default="replace", help="db table write-mode [replace|append|fail] (default: replace)") parser.add_option("-l", "--lang", action="store", dest="lang", default="cn", help="db language mode [cn|en] (default: cn)") parser.add_option("-n", "--numlimit", action="store", dest="numLimit", default=7, type="int", help="max number of alert list (default: 7)") parser.add_option("", "--no_database_save", action="store_false", dest="saveDB", default=True, help="no save to database (default: save to database)") parser.add_option("", "--use_mp3", action="store_true", dest="mp3YN", default=False, help="comment use mp3 style") parser.add_option("", "--make_mp3", action="store_true", dest="mp3Make", default=False, help="create mp3 file") parser.add_option("", "--j2ts_header", action="store", dest="j2ts_header", help="jinja2 header template script, (default: None).") parser.add_option("", "--extra_js", action="store", dest="extraJS", help="extra JSON in DICT format.") parser.add_option("", "--extra_xs", action="store", dest="extraXS", help="extra excutable string in k1=v1;k2=v2; format") parser.add_option("", "--debug", action="store_true", dest="debugTF", default=False, help="debugging (default: False)") (options, args) = parser.parse_args(argv[1:]) if retParser is True: return parser opts = vars(options) try: from _alan_str import extra_opts extra_opts(opts, xkey='extraJS', method='JS', updTF=True) extra_opts(opts, xkey='extraXS', method='XS', updTF=True) except Exception as e: print(str(e), file=sys.stderr) if 'sep' in opts: opts['sep'] = opts['sep'].decode("string_escape") return (opts, args)
def opt_csv2plot(argv=[],retParser=False): """ command-line options initial setup Arguments: argv: list arguments, usually passed from sys.argv retParser: OptionParser class return flag, default to False Return: (options, args) tuple if retParser is False else OptionParser class """ parser = OptionParser(usage="usage: %prog [option] FILENAME", version="%prog 1.0", description="Time-series Plotting Utility via matplotlib") parser.add_option("-s","--sep",action="store",dest="sep",default="|", help="field separator (default: |)") parser.add_option("","--xaxis",action="store",dest="xaxis",default="pbdate", help="x-axis [pbdate|epochs] column name (default: pbdate in yyyymmdd)") parser.add_option("","--columns",action="store",dest="colLst", help="selected columns (default: ALL)") parser.add_option("","--ren_header",action="store",dest="hdrLst", help="rename header columns") parser.add_option("-t","--title",action="store",dest="title", help="title (default: combo-colunms)") parser.add_option("-n","--nbins",action="store",dest="nbins",default="6",type=int, help="number of bins in x-axis (default: 6)") parser.add_option("","--return_since_inception",action="store_true",dest="rsiYN",default=False, help="use Return since Inception plot. Note: $1 will be used as the initial investment if the initial is less than $1") parser.add_option("","--interpolate",action="store_true",dest="interpolateYN",default=False, help="use linear-interplation for missing data") parser.add_option("","--pivot_group",action="store",dest="pivot_group", help="pivot table group by column, must pair with PIVOT_VALUE") parser.add_option("","--pivot_value",action="store",dest="pivot_value", help="pivot table display value column, must pair with PIVOT_GROUP") parser.add_option("","--x_fmt",action="store",dest="x_fmt",default='%m-%d-%y', help="graph x-axis format (default: %m-%d-%y)") parser.add_option("","--png",action="store",dest="pngname", help="graph name (default: None)") parser.add_option("","--backend",action="store",dest="backend",default='tkAgg', help="matplotlib new backend(default: tkAgg)") parser.add_option("","--no_time_series",action="store_false",dest="tsTF",default=True, help="Simple line plot no time-series") parser.add_option("-l","--lang",action="store",dest="lang",default="cn", help="language mode [cn|en] (default: cn), ohlc/ohlc_combo ONLY") parser.add_option("","--ohlc",action="store_true",dest="ohlcTF",default=False, help="plot stock OHLC Candlestick") parser.add_option("","--ohlc_combo",action="store_true",dest="ohlcComboTF",default=False, help="plot stock OHLC Candlestick + MA/RSI/MACD Combo") parser.add_option("","--src",action="store",dest="src",default="yh", help="data source (FILENAME is used if 'FILENAME' is provided. default: yh)") parser.add_option("","--start",action="store",dest="start", help="start YYYY-MM-DD, must pair with SRC (default: 2-years-ago)") parser.add_option("","--end",action="store",dest="end", help="end YYYY-MM-DD, must pair with SRC (default: today)") parser.add_option("","--days",action="store",dest="days",default=730,type=int, help="number of days from END date, must pair with SRC (default: 730)") parser.add_option("","--trendline",action="store_true",dest="trendTF",default=False, help="Draw trendline, apply to the 1st array ONLY") parser.add_option("","--npar",action="store",dest="npar",default=15,type="int", help="trendline fitting polynomial degree (default: 15)") parser.add_option("","--j2ts",action="store",dest="j2ts", help="template script. Note, JINJA2 ONLY") parser.add_option("","--extra_js",action="store",dest="extraJS", help="extra JSON in DICT format.") parser.add_option("","--extra_xs",action="store",dest="extraXS", help="extra excutable string in k1=v1;k2=v2; format") parser.add_option("","--debug",action="store_true",dest="debugTF",default=False, help="debugging (default: False)") (options, args) = parser.parse_args(argv[1:]) if retParser is True: return parser try: opts = vars(options) from _alan_str import extra_opts extra_opts(opts,xkey='extraJS',method='JS',updTF=True) extra_opts(opts,xkey='extraXS',method='XS',updTF=True) except Exception as e: sys.stderr.write("**ERROR:{} @{}\n".format(str(e),'opt_csv2plot')) return (opts, args)
def opt_yh_hist(argv, retParser=False): """ command-line options initial setup Arguments: argv: list arguments, usually passed from sys.argv retParser: OptionParser class return flag, default to False Return: (options, args) tuple if retParser is False else OptionParser class """ parser = OptionParser(usage="usage: %prog [option] SYMBOL1 ...", version="%prog 0.01", description="Pull Price History from YAHOO") parser.add_option("", "--range", action="store", dest="ranged", default='1d', help="range period from now (default: 1d)") parser.add_option("", "--gap", action="store", dest="gap", default='1m', help="interval GAP of data frequency (default: 1m)") parser.add_option("-d", "--database", action="store", dest="dbname", default="ara", help="database (default: ara)") parser.add_option("", "--host", action="store", dest="hostname", default="localhost", help="db host (default: localhost)") parser.add_option("-t", "--table", action="store", dest="tablename", default="prc_temp_yh", help="db tablename (default: prc_temp_yh)") parser.add_option( "-w", "--wmode", action="store", dest="wmode", default="replace", help="db table write-mode [replace|append] (default: replace)") parser.add_option("-o", "--output", action="store", dest="output", help="OUTPUT type [csv|html|json] (default: no output)") parser.add_option("", "--no_datetimeindex", action="store_false", dest="tsTF", default=True, help="no datetime index (default: use datetime)") parser.add_option("", "--show_index", action="store_true", dest="indexTF", default=False, help="show index (default: False) Note, OUTPUT ONLY") parser.add_option( "-s", "--sep", action="store", dest="sep", default="|", help="output field separator (default: |) Note, OUTPUT ONLY") parser.add_option("", "--no_database_save", action="store_false", dest="saveDB", default=True, help="no save to database (default: save to database)") parser.add_option("", "--extra_js", action="store", dest="extraJS", help="extra JSON in DICT format.") parser.add_option("", "--extra_qs", action="store", dest="extraQS", help="extra GET string format like k1=v1&k2=v2; ") parser.add_option("", "--extra_xs", action="store", dest="extraXS", help="extra excutable string like k1=v1;k2=v2; ") parser.add_option("", "--debug", action="store_true", dest="debugTF", default=False, help="debugging (default: False)") (options, args) = parser.parse_args(argv[1:]) try: from _alan_str import extra_opts opts = vars(options) extra_opts(opts, xkey='extraJS', method='JS', updTF=True) extra_opts(opts, xkey='extraQS', method='QS', updTF=True) extra_opts(opts, xkey='extraXS', method='XS', updTF=True) opts.update(args=args, narg=len(args)) except Exception as e: sys.stderr.write(str(e) + "\n") if retParser is True: return parser return (opts, args)