コード例 #1
0
ファイル: main.py プロジェクト: ongbe/pymisc
def processStrategy(stock):
	try:
		if const.REFRESH_DATA: dataloader.downloadStockData(stock)
		prices = dataloader.importData(4, stock['file'])
		const.currentSecId = stock['id']
		tr = strategy.runStrategy(prices)
		return tr
	except:
		return None
コード例 #2
0
def processStrategy(stock):
    try:
        if const.REFRESH_DATA: dataloader.downloadStockData(stock)
        prices = dataloader.importData(4, stock['file'])
        const.currentSecId = stock['id']
        tr = strategy.runStrategy(prices)
        return tr
    except:
        return None
コード例 #3
0
        if const.REFRESH_DATA: dataloader.downloadStockData(stock)
        prices = dataloader.importData(4, stock['file'])
        const.currentSecId = stock['id']
        tr = strategy.runStrategy(prices)
        return tr
    except:
        return None
    #finalPool.estimate(tr)
    #q.put(tr)


if __name__ == "__main__":
    rwlogging.clearLog()

    if const.SOURCE_TYPE < 3:
        prices = dataloader.importData(const.SOURCE_TYPE, const.DATA_FILE)
        strategy.runStrategy(prices)

    if const.SOURCE_TYPE == 3:
        stocks = dataloader.importStockList(const.LIST_FILE)
        for stock in stocks:
            dataloader.downloadStockData(stock)

    if const.SOURCE_TYPE == 4:
        stocks = dataloader.importStockList(const.LIST_FILE)
        finalPool = Pool(100)
        with concurrent.futures.ProcessPoolExecutor(
                max_workers=const.MAX_PROCESS_NUM) as executor:
            trs = executor.map(processStrategy, stocks)
            for tr in trs:
                try:
コード例 #4
0
    resultPath = os.path.join(os.path.dirname(__file__), const.RESULT_PATH)
    plt.savefig(os.path.join(resultPath, stock['id'] + '.png'), dpi=150)
    plt.close(fig)

    return stock['symbol'] + ', ' + dt + ', ' + str(
        ps[-1]) + ', ' + active + ', ' + adesc + ', ' + bdesc


if __name__ == "__main__":
    rwlogging.clearLog()
    plt.rcParams.update({'axes.labelsize': 10})
    plt.rcParams.update({'xtick.labelsize': 8})
    plt.rcParams.update({'ytick.labelsize': 8})

    result = 'STOCK, DATE, PRICE, ACTIVE, POS A, POS B\n'
    stocks = dataloader.importVSignalList(const.VSIGNAL_FILE)
    for stock in stocks:
        if const.REFRESH_DATA: dataloader.downloadStockData(stock)
        prices = dataloader.importData(4, stock['file'], const.DATA_NUM * 2)
        if const.UPDATE_SINA:
            prices = dataloader.makeupStockFromSina(stock, prices)
        desc = runSignal(stock, prices)
        result += desc + '\n'

    log.info(result)
    resultPath = os.path.join(os.path.dirname(__file__), const.RESULT_PATH)
    files = open(os.path.join(resultPath, 'signal.csv'), 'w')
    files.write(result)
    files.close()
コード例 #5
0
ファイル: signal.py プロジェクト: ongbe/pymisc
	if opos == pos:
		desc = str(pos)
	else:
		desc = str(opos) + ' -> ' + str(pos)
	
	dt = datetime.datetime.now().strftime('%Y-%m-%d')
		
	return stock['symbol'] + ',' + dt + ',' + str(ps[-1]) + ',' + desc
	

if __name__ == "__main__":
	rwlogging.clearLog()
	plt.rcParams.update({'axes.labelsize':10})
	plt.rcParams.update({'xtick.labelsize':8})
	plt.rcParams.update({'ytick.labelsize':8})
	
	result = 'STOCK, DATE, PRICE, POSITION\n'
	stocks = dataloader.importSignalList(const.SIGNAL_FILE)
	for stock in stocks:
		if const.REFRESH_DATA: dataloader.downloadStockData(stock)
		prices = dataloader.importData(4, stock['file'], const.DATA_NUM * 2)
		if const.UPDATE_SINA: prices = dataloader.makeupStockFromSina(stock, prices)
		desc = runSignal(stock, prices)
		result += desc + '\n'
		
	log.info(result)
	resultPath = os.path.join(os.path.dirname(__file__), const.RESULT_PATH)
	files = open(os.path.join(resultPath, 'signal.csv'), 'w')
	files.write(result)
	files.close()
	
コード例 #6
0
ファイル: main.py プロジェクト: ongbe/pymisc
	try:
		if const.REFRESH_DATA: dataloader.downloadStockData(stock)
		prices = dataloader.importData(4, stock['file'])
		const.currentSecId = stock['id']
		tr = strategy.runStrategy(prices)
		return tr
	except:
		return None
	#finalPool.estimate(tr)
	#q.put(tr)

if __name__ == "__main__":
	rwlogging.clearLog()
	
	if const.SOURCE_TYPE < 3:
		prices = dataloader.importData(const.SOURCE_TYPE, const.DATA_FILE)
		strategy.runStrategy(prices)
	
	if const.SOURCE_TYPE == 3:
		stocks = dataloader.importStockList(const.LIST_FILE)
		for stock in stocks:
			dataloader.downloadStockData(stock)
	
	if const.SOURCE_TYPE == 4:
		stocks = dataloader.importStockList(const.LIST_FILE)
		finalPool = Pool(100)
		with concurrent.futures.ProcessPoolExecutor(max_workers=const.MAX_PROCESS_NUM) as executor:
			trs = executor.map(processStrategy, stocks)
			for tr in trs:
				try:
					if tr: finalPool.estimate(tr)
コード例 #7
0
ファイル: main.py プロジェクト: 547872495/pymisc
def processStrategy(stock):
	prices = dataloader.importData(2, stock['file'])
	const.currentSecId = stock['id']
	tr = strategy.runStrategy(prices)
	return tr
コード例 #8
0
ファイル: main.py プロジェクト: fudong1127/pymisc
# -*- coding: utf-8 -*-
import os
import const, rwlogging, dataloader, strategy
from pool import Pool
from rwlogging import log


path = os.path.dirname(__file__)

if __name__ == "__main__":
	rwlogging.clearLog()
	
	if const.SOURCE_TYPE < 3:
		prices = dataloader.importData(const.SOURCE_TYPE, const.SOURCE_FILE)
		strategy.runStrategy(prices)
	
	if const.SOURCE_TYPE == 3:
		stocks = dataloader.importStockList(const.SOURCE_FILE)
		for stock in stocks:
			dataloader.downloadStockData(stock)
			
	if const.SOURCE_TYPE == 4:
		stocks = dataloader.importStockList(const.SOURCE_FILE)
		for stock in stocks:
			#dataloader.downloadStockDat
			prices = dataloader.importData(2, stock['file'])
			finalPool = Pool(const.POOL_SIZE)
			strategy.secId = stock['id']
			pool = strategy.runStrategy(prices)
			finalPool.estimate(pool.getFirst())
			
コード例 #9
0
ファイル: main.py プロジェクト: 547872495/pymisc
def processStrategy(stock):
    prices = dataloader.importData(2, stock['file'])
    const.currentSecId = stock['id']
    tr = strategy.runStrategy(prices)
    return tr