Esempio n. 1
0
def transaction(username, volume, company, trans_type, algo_id):

    udao1 = User_stock_value_dao()
    udao2 = User_portfolio_dao()
    cdao = Company_dao()
    tdao = Transaction_dao()
    hdao = History_dao()

    c = cdao.get_company_model(company)

    ask = Decimal(c.get_ask())
    #time = datetime.datetime.utcnow()

    final = calculate_price(ask, volume)

    if trans_type == 'buy':
        u = udao2.get_user_portfolio_model(username)
        if final <= u.get_available_funds():
            tdao.buy(username, company, volume, ask, algo_id)
            hdao.insert(username, 'buy', company, ask, final, volume, algo_id)

            o = tdao.get_user_stock_value_model(username)

            if o.get_total_stock_values():
                udao1.update_total_stock_values(username,
                                                o.get_total_stock_values())

            if o.get_profit():
                udao1.update_profit(username, o.get_profit())

            up = udao2.get_user_portfolio_model(username)
            udao2.update_available_funds(
                username,
                Decimal(up.get_available_funds()) - final)

    elif trans_type == 'sell':

        o = tdao.get_owned_stock_model(username, company, ask)

        if o.get_volume() >= volume:
            tdao.sell(username, company, volume, ask, algo_id)
            hdao.insert(username, 'sell', company, ask, final, volume, algo_id)

            u = tdao.get_user_stock_value_model(username)
            udao1.update_total_stock_values(username,
                                            u.get_total_stock_values())
            udao1.update_profit(username, u.get_profit())

            portfolio = udao2.get_user_portfolio_model(username)
            udao2.update_available_funds(
                username,
                Decimal(final) + Decimal(portfolio.get_available_funds()))
            udao2.update_total_portfolio(
                username,
                Decimal(final) + Decimal(portfolio.get_available_funds()) +
                Decimal(u.get_total_stock_values()))
Esempio n. 2
0
def transaction(username, volume, company, trans_type, algo_id):
    
    udao1 = User_stock_value_dao()
    udao2 = User_portfolio_dao()
    cdao = Company_dao()
    tdao = Transaction_dao()
    hdao = History_dao()

    c = cdao.get_company_model(company)

    ask = Decimal(c.get_ask())
    #time = datetime.datetime.utcnow()

    final = calculate_price(ask, volume)

    if trans_type == 'buy':
        u = udao2.get_user_portfolio_model(username)
        if final <= u.get_available_funds():
            tdao.buy(username, company, volume, ask, algo_id)
            hdao.insert(username, 'buy', company, ask, final, volume, algo_id)
            
            o = tdao.get_user_stock_value_model(username)
            
            if o.get_total_stock_values():
                udao1.update_total_stock_values(username, o.get_total_stock_values())

            if o.get_profit():
                udao1.update_profit(username, o.get_profit())
            
            up = udao2.get_user_portfolio_model(username)
            udao2.update_available_funds(username, Decimal(up.get_available_funds()) - final)
            
    elif trans_type == 'sell':

        o = tdao.get_owned_stock_model(username, company, ask)
        
        if o.get_volume() >= volume:
            tdao.sell(username, company, volume, ask, algo_id)
            hdao.insert(username, 'sell', company, ask, final, volume, algo_id)

            u = tdao.get_user_stock_value_model(username)    
            udao1.update_total_stock_values(username, u.get_total_stock_values())
            udao1.update_profit(username, u.get_profit())

            portfolio = udao2.get_user_portfolio_model(username)
            udao2.update_available_funds(username, Decimal(final) + Decimal(portfolio.get_available_funds()))
            udao2.update_total_portfolio(username, Decimal(final) + Decimal(portfolio.get_available_funds()) + Decimal(u.get_total_stock_values()))
        sorted_volume[j - 1] = sorted_volume[j]
        sorted_volume[j] = temp
        j = j - 1

MAX = 35
for i in range(length):
    if (i >= MAX): break
    if (sorted_volume[i][0] == 'Other'): continue
    sectors.append(sorted_volume[i][0])
    volume.append(sorted_volume[i][1])

data['chart_axis'] = sectors
data['chart_data'] = volume
#--------------------------------end of code for chart--------------------#

up = u1.get_user_portfolio_model(username)
usv = u2.get_user_stock_value_model(username)
data['users'] = {}

if up:
    data['users']['total_portfolio'] = up.get_total_portfolio()
    data['users']['total_deposited'] = up.get_total_deposited()
    data['users']['available_funds'] = up.get_available_funds()
else:
    data['users']['total_portfolio'] = 0
    data['users']['total_deposited'] = 0
    data['users']['available_funds'] = 0

if usv:
    data['users']['total_stock_values'] = usv.get_total_stock_values()
    data['users']['profit'] = usv.get_profit()
        sorted_volume[j]=temp
        j=j-1

MAX=35
for i in range(length):
    if(i>=MAX):break;
    if(sorted_volume[i][0]=='Other'):continue
    sectors.append(sorted_volume[i][0])
    volume.append(sorted_volume[i][1])


data['chart_axis']=sectors;
data['chart_data']=volume;
#--------------------------------end of code for chart--------------------#

up = u1.get_user_portfolio_model(username)
usv = u2.get_user_stock_value_model(username)
data['users']={}

if up:
    data['users']['total_portfolio'] = up.get_total_portfolio()
    data['users']['total_deposited'] = up.get_total_deposited()
    data['users']['available_funds'] = up.get_available_funds()
else:
    data['users']['total_portfolio'] = 0
    data['users']['total_deposited'] = 0
    data['users']['available_funds'] = 0  

if usv:
    data['users']['total_stock_values'] = usv.get_total_stock_values()
    data['users']['profit'] = usv.get_profit() 
Esempio n. 5
0
import cgi, sys, LINK_HEADERS
import simplejson as json
sys.path.insert(0, str(LINK_HEADERS.MODELS_LINK))
sys.path.insert(0, str(LINK_HEADERS.DAO_LINK))
from decimal import *
from user_portfolio_dao import User_portfolio_dao

print "Content-Type: text/html\r\n\r\n"

form = cgi.FieldStorage()

if form.getvalue("username") != None:
    username = form.getvalue("username")

if form.getvalue("amount") != None:
    amount = form.getvalue("amount")

#username='******'
#amount='1000000'
    
udao = User_portfolio_dao()
u = udao.get_user_portfolio_model(username)

final_deposited = Decimal(u.get_total_deposited()) + Decimal(amount)
final_portfolio = Decimal(u.get_total_portfolio()) + Decimal(amount)
final_available = Decimal(u.get_available_funds()) + Decimal(amount)

udao.update_total_deposited(username, final_deposited)
udao.update_total_portfolio(username, final_portfolio)
udao.update_available_funds(username, final_available)
Esempio n. 6
0
import cgi, sys, LINK_HEADERS
import simplejson as json
sys.path.insert(0, str(LINK_HEADERS.MODELS_LINK))
sys.path.insert(0, str(LINK_HEADERS.DAO_LINK))
from decimal import *
from user_portfolio_dao import User_portfolio_dao

print "Content-Type: text/html\r\n\r\n"

form = cgi.FieldStorage()

if form.getvalue("username") != None:
    username = form.getvalue("username")

if form.getvalue("amount") != None:
    amount = form.getvalue("amount")

#username='******'
#amount='1000000'

udao = User_portfolio_dao()
u = udao.get_user_portfolio_model(username)

final_deposited = Decimal(u.get_total_deposited()) + Decimal(amount)
final_portfolio = Decimal(u.get_total_portfolio()) + Decimal(amount)
final_available = Decimal(u.get_available_funds()) + Decimal(amount)

udao.update_total_deposited(username, final_deposited)
udao.update_total_portfolio(username, final_portfolio)
udao.update_available_funds(username, final_available)