Exemple #1
0
def sell(api_key):
    data = request.get_json()
    account = Account.api_authenticate(api_key)
    if account:
        ticker = request.get_json()['ticker']
        amount = request.get_json()['amount']
        Withdrawal = request.get_json()['type']
        current_position = Position.from_account(account.pk, ticker)
        if current_position.num_shares < int(amount):
            return jsonify({"Insufficient_funds": "Insufficient_funds"})
        transaction_price = get_price_of_ticker(ticker) * int(amount)
        account.balance += (transaction_price)
        account.equity -= transaction_price
        current_position.equity -= (transaction_price)
        current_position.num_shares -= int(amount)
        current_position.save()
        time = data.get('unix_time')
        new_trade = Trade(account.pk, ticker, amount, current_position.equity,
                          Withdrawal, time)
        new_trade.equity = transaction_price
        new_trade.insert()
        account.save()
        return jsonify({"ticker": ticker, "amount": amount})
    return jsonify({'error': 'invalid key'})
Exemple #2
0
def buy(api_key):
    data = request.get_json()
    account = Account.api_authenticate(api_key)
    if account:
        ticker = request.get_json()['ticker']
        amount = request.get_json()['amount']
        Deposit = request.get_json()['type']
        current_price = get_price_of_ticker(ticker) * int(amount)
        if account.balance < current_price:
            return jsonify({"Insufficient_funds": "Insufficient_funds"})
        account.balance -= current_price
        account.equity += current_price
        current_position = Position.from_account(account.pk, ticker)
        current_position.equity += current_price
        current_position.number_shares += int(amount)
        current_position.save()
        time = data.get('unix_time')
        new_trade = Trade(account.pk, ticker, amount, current_position.equity,
                          Deposit, time)
        new_trade.equity = current_price
        new_trade.insert()
        account.save()
        return jsonify({"ticker": ticker, "amount": amount})
    return jsonify({'error': 'invalid key'})