Esempio n. 1
0
def get_eigyobi(_idx=-1):
    if _idx >=0:
        data = sql.exec_selsql("SELECT date FROM trade.eigyobi WHERE idx=\'" + str(_idx) + "\';")
        if len(data) > 0:
            return data[0][0]
    else:
        data = sql.exec_selsql("SELECT date FROM trade.eigyobi ORDER BY date;")
        arr = []
        for d in data:
            arr.extend(d)
        return arr
Esempio n. 2
0
def get_goodmeigaras(datestr,
                     cnt,
                     diagdays=20, 
                     minvaliddays=18, 
                     minvolu=50*10000, 
                     minprice=120, 
                     maxprice=10000,
                     minvola=0.005,
                     high_vol_first=True):
    startd = dtf.datestrsub(datestr, diagdays)
    strsql = "select code, count(date) as validdays, avg(close) as price, \
        std((close + high + low) / 3) / avg(close) as vola, \
        avg(volume) as vol \
    from \
        kabuka \
    where \
        date >= '%s' and  date <= '%s' \
    group by code \
    having \
        validdays >= '%s' and vol >= '%s' and price >= '%s' and price <= '%s' and vola >= '%s'" \
         % (startd, datestr, str(minvaliddays), str(minvolu), str(minprice), str(maxprice), str(minvola))
    if high_vol_first:
        strsql = strsql + "order by vol desc"
    strsql = strsql + " limit %s;" % (str(cnt))
    return sql.exec_selsql(strsql, 0)
Esempio n. 3
0
def get_price(code, datestr):
    strsql = "SELECT close FROM trade.kabuka WHERE \
    code=\'" + str(code) + "\' AND date=\'" + str(datestr) + "\';"
    ret = sql.exec_selsql(strsql)
    if len(ret) == 0:
        return -1
    else:
        return ret[0][0]
Esempio n. 4
0
def get_meigaras(condlist=[]):
    condlist.append("available = \'1\'")
    strsql = "SELECT code FROM trade.meigaras %s;" % (sql.list2wheresql(condlist)) 
    data = sql.exec_selsql(strsql)
    arr = []
    for d in data:
        arr.extend(d)
    return arr
Esempio n. 5
0
def get_datestr(startdstr, enddstr):
    arr = []
    strsql = "SELECT DISTINCT date FROM trade.eigyobi WHERE \
        date<=\'" + str(enddstr) + "\' AND date >=\'" + \
        str(startdstr) + "\' ORDER BY date;"
    data = sql.exec_selsql(strsql)
    for d in data:
        arr.extend(d)
    return arr
Esempio n. 6
0
def get_charge(price):
    strsql = "select limit_price, charge from trade.charges \
    where brokerage = \'%s\';" % (BROKERAGE_NAME)
    data = sql.exec_selsql(strsql)
    if len(data) == 0:
        return 0
    for row in data:
        limit_price = row[0]
        charge = row[1]
        if price <= limit_price*10000:
            return charge
Esempio n. 7
0
def get_prices(code, startd="", endd="", colname=""):
    if colname == "":
        colname = "close"
    
    strsql = "select %s from trade.kabuka where code=\'%s\'" % (colname, code)
    if startd != "":
        strsql = strsql + " and date>=\'%s\'" % (startd)
    if endd != "":
        strsql = strsql + " and date<=\'%s\'" % (endd)
    strsql = strsql + " order by date;"

    return sql.exec_selsql(strsql, 0)
Esempio n. 8
0
def get_hostids():
    strsql = "select distinct hostid from zabbix.hosts;"
    return sql.exec_selsql(strsql, 0)
Esempio n. 9
0
def get_eigyobi_idx(datestr):
    data = sql.exec_selsql("SELECT max(idx) FROM trade.eigyobi WHERE date<=\'" + str(datestr) + "\';")
    if len(data) == 0:
        return -1
    else:
        return data[0][0]
Esempio n. 10
0
def get_max_eigyobi():
    data = sql.exec_selsql("SELECT MAX(date) FROM trade.eigyobi;")
    return data[0][0]
Esempio n. 11
0
def get_eigyobis(startd, endd):
    data = sql.exec_selsql("SELECT date FROM trade.eigyobi where date >= %s and date <= %s;" % (startd, endd),0)
    return data
Esempio n. 12
0
def get_eigyobi(idx):
    data = sql.exec_selsql("SELECT date FROM trade.eigyobi WHERE idx=\'" + str(idx) + "\';")
    if len(data) == 0:
        return ""
    else:
        return data[0][0]