예제 #1
0
def compute_3or5(stock_no):
    date_infos = da.dailyrecords.load_by_stockno(stock_no)
    date_len = len(date_infos)

    rows = []
    for i in range(0, date_len):
        print i
        stock_date = date_infos[i]
        d = stock_date.date
        dh5 = __compute_trend(date_infos, i, 5, 'high_price')
        dh3 = __compute_trend(date_infos, i, 3, 'high_price')

        dl5 = __compute_trend(date_infos, i, 5, 'low_price')
        dl3 = __compute_trend(date_infos, i, 3, 'low_price')

        #未来n天内,收盘价 与 明天开盘价对比
        prates = {}
        tommorrow_open_price = date_infos[i - 1].open_price
        for day in range(2, 6):
            prates[day] = None
            if i < day: continue
            prates[day] = (date_infos[i - day].close_price -
                           tommorrow_open_price) / tommorrow_open_price

        if i > 6:
            p = date_infos[i - 6].close_price - date_infos[i - 1].open_price
            prate = p / date_infos[i - 1].open_price
            print stock_date.date, dh5, dh3, dl5, dl3, p, prate

        if date_len > (i + 5):
            history_prate_3 = (
                stock_date.close_price -
                date_infos[i + 3].close_price) / date_infos[i + 3].close_price
            history_prate_5 = (
                stock_date.close_price -
                date_infos[i + 5].close_price) / date_infos[i + 5].close_price

        rows.append(
            web.storage(pk_id=stock_date.pk_id,
                        date=stock_date.date,
                        stock_no=stock_date.stock_no,
                        high5=dh5,
                        high3=dh3,
                        low5=dl5,
                        low3=dl3,
                        tmrow_open_price=tommorrow_open_price,
                        price_rate_2=prates[2],
                        price_rate_3=prates[3],
                        price_rate_4=prates[4],
                        price_rate_5=prates[5],
                        history_prate_3=history_prate_3,
                        history_prate_5=history_prate_5))

        i = i + 1

    dbw.delete('trend_daily', where="stock_no=$stock_no", vars=locals())
    dbw.supports_multiple_insert = True
    dbw.multiple_insert('trend_daily', rows)
예제 #2
0
def insert(terms):
	if not terms:
		return 
	values = []	
	for t in terms:
		if not t[0].strip(): continue
		values.append({'term':t[0],'count':t[1],'idf':t[2],'last_update':datetime.datetime.now()} )
	dbw.supports_multiple_insert = True
	dbw.multiple_insert(tname, values=values) 
예제 #3
0
def update_v2(l):
    dbw.delete('stock_daily_records_tmp',where="pk_id>0",vars=locals())
    dbw.supports_multiple_insert = True
    dbw.multiple_insert('stock_daily_records_tmp',l)
    dbw.query('''update stock_daily_records a,stock_daily_records_tmp t set
        a.raise_drop=t.raise_drop,
        a.raise_drop_rate=t.raise_drop_rate,
        a.volume_updown=t.volume_updown,
        a.volume_updown_rate=t.volume_updown_rate,
        a.last_update = t.last_update
        where a.pk_id=t.pk_id''')
예제 #4
0
def update_v2(l):
    dbw.delete('stock_daily_records_tmp', where="pk_id>0", vars=locals())
    dbw.supports_multiple_insert = True
    dbw.multiple_insert('stock_daily_records_tmp', l)
    dbw.query('''update stock_daily_records a,stock_daily_records_tmp t set
        a.raise_drop=t.raise_drop,
        a.raise_drop_rate=t.raise_drop_rate,
        a.volume_updown=t.volume_updown,
        a.volume_updown_rate=t.volume_updown_rate,
        a.last_update = t.last_update
        where a.pk_id=t.pk_id''')
예제 #5
0
def import_to_db(params,results):
    stock_nos = load_all_stock_nos()
    l = []
    for r in results:
        if r[0] not in stock_nos:
            row = {'market_code':params['t'],'stock_no':r[0],'stock_name':r[1],'create_date':datetime.datetime.now(),'last_update':datetime.datetime.now()}
            print row
            l.append(row)


    dbw.supports_multiple_insert = True
    dbw.multiple_insert('stock_base_infos',l)
예제 #6
0
파일: termdoc.py 프로젝트: PubFork/todolist
def insert(terms):
    if not terms:
        return
    values = []
    for t in terms:
        if not t[0].strip(): continue
        values.append({
            'term': t[0],
            'count': t[1],
            'idf': t[2],
            'last_update': datetime.datetime.now()
        })
    dbw.supports_multiple_insert = True
    dbw.multiple_insert(tname, values=values)
예제 #7
0
def import_stock_daily_data(market_code,stock_no,data):
    stock_dates = load_stock_dates(stock_no)
    max_date = max(stock_dates) if stock_dates else '1900-01-01'
    l=[]
    for row in data:
        #if row['date'] <= max_date: break
        if row['date'] in stock_dates:
            continue
        row['stock_market_no'] = market_code
        row['stock_no'] = stock_no
        row['create_date'] = datetime.datetime.now()
        row['last_update'] = datetime.datetime.now()
        l.append(row)

    print '%s.%s csv len is %s' %(market_code,stock_no,len(data))
    print '%s.%s insert len is %s' %(market_code,stock_no,len(l))

    dbw.supports_multiple_insert = True
    dbw.multiple_insert('stock_daily_records',l)
예제 #8
0
def import_stock_daily_data(market_code, stock_no, data):
    stock_dates = load_stock_dates(stock_no)
    max_date = max(stock_dates) if stock_dates else '1900-01-01'
    l = []
    for row in data:
        #if row['date'] <= max_date: break
        if row['date'] in stock_dates:
            continue
        row['stock_market_no'] = market_code
        row['stock_no'] = stock_no
        row['create_date'] = datetime.datetime.now()
        row['last_update'] = datetime.datetime.now()
        l.append(row)

    print '%s.%s csv len is %s' % (market_code, stock_no, len(data))
    print '%s.%s insert len is %s' % (market_code, stock_no, len(l))

    dbw.supports_multiple_insert = True
    dbw.multiple_insert('stock_daily_records', l)
예제 #9
0
def compute_3or5(stock_no):
    date_infos = da.dailyrecords.load_by_stockno(stock_no)
    date_len = len(date_infos)

    rows = []
    for i in range(0,date_len):
        print i
        stock_date = date_infos[i]
        d = stock_date.date
        dh5 = __compute_trend(date_infos,i,5,'high_price')
        dh3 = __compute_trend(date_infos,i,3,'high_price')

        dl5 = __compute_trend(date_infos,i,5,'low_price')
        dl3 = __compute_trend(date_infos,i,3,'low_price')

        #未来n天内,收盘价 与 明天开盘价对比
        prates = {}
        tommorrow_open_price = date_infos[i-1].open_price
        for day in range(2,6):
            prates[day] = None
            if i < day : continue
            prates[day] = (date_infos[i-day].close_price - tommorrow_open_price) / tommorrow_open_price

        if i > 6:
           p = date_infos[i-6].close_price - date_infos[i-1].open_price
           prate = p/date_infos[i-1].open_price
           print stock_date.date,dh5,dh3,dl5,dl3,p,prate

        if date_len > (i+5):
            history_prate_3 = (stock_date.close_price - date_infos[i+3].close_price) / date_infos[i+3].close_price
            history_prate_5 = (stock_date.close_price - date_infos[i+5].close_price) / date_infos[i+5].close_price

        rows.append(web.storage(pk_id=stock_date.pk_id,date=stock_date.date,stock_no=stock_date.stock_no,
             high5=dh5,high3=dh3,low5=dl5,low3=dl3,tmrow_open_price=tommorrow_open_price,
             price_rate_2=prates[2],price_rate_3=prates[3],price_rate_4=prates[4],price_rate_5=prates[5],
             history_prate_3=history_prate_3,history_prate_5=history_prate_5))

        i = i + 1

    dbw.delete('trend_daily',where="stock_no=$stock_no",vars=locals())
    dbw.supports_multiple_insert = True
    dbw.multiple_insert('trend_daily',rows)
예제 #10
0
def import_daily_records(table,rows):
    dbw.supports_multiple_insert = True
    dbw.multiple_insert(table,rows)
예제 #11
0
def import_daily_records(table, rows):
    dbw.supports_multiple_insert = True
    dbw.multiple_insert(table, rows)