def main_menu(session, base_url): """ Provides the different options for the sample application: Market Quotes, Account List :param session: authenticated session """ menu_items = {"1": "Market Quotes", "2": "Account List", "3": "Exit"} while True: print("") options = menu_items.keys() for entry in options: print(entry + ")\t" + menu_items[entry]) selection = input("Please select an option: ") if selection == "1": market = Market(session, base_url) market.quotes() elif selection == "2": accounts = Accounts(session, base_url) accounts.account_list() elif selection == "3": break else: print("Unknown Option Selected!")
def createbuyorder(): readasklist = open("asklist.pickle", "rb") asklist = pickle.load(readasklist) readasklist.close() total = 0 count = 0 for ask in asklist: total = ask + total count = count + 1 movingaverageFunc = lambda a, b: a / b movingaverage = movingaverageFunc(total, count) print("Today's Moving Average: ") print(movingaverage) market = Market(self.session, self.base_url, self.account) ask = market.quotes() if ask < movingaverage: def buy(): clientorderId = Generator.get_random_alphanumeric_string( 20) # Add payload for POST Request payload = """<PreviewOrderRequest> <orderType>EQ</orderType> <clientOrderId>{0}</clientOrderId> <Order> <allOrNone>false</allOrNone> <priceType>LIMIT</priceType> <orderTerm>GOOD_FOR_DAY</orderTerm> <marketSession>REGULAR</marketSession> <stopPrice></stopPrice> <limitPrice>{1}</limitPrice> <Instrument> <Product> <securityType>EQ</securityType> <symbol></symbol> </Product> <orderAction>{2}</orderAction> <quantityType>QUANTITY</quantityType> <quantity>1</quantity> </Instrument> </Order> </PreviewOrderRequest>""" orderaction = "BUY" payload = payload.format(clientorderId, ask, orderaction) market.preview_order(payload, clientorderId, ask, orderaction) loop.call_soon(buy) loop.call_later(300, createbuyorder)
def calculatetodaysmovingaverage(): readasklist = open("asklist.pickle", "rb") asklist = pickle.load(readasklist) readasklist.close() market = Market(self.session, self.base_url, self.account) ask = market.quotes() asklist.append(ask) openasklist = open("asklist.pickle", "wb") pickle.dump(asklist, openasklist) openasklist.close() print("Ask Price: ") print(ask) loop.call_later(300, calculatetodaysmovingaverage)
import json import sys import requests from rauth import OAuth1Session from market.market import Market with open('.etrade-oauth.json', 'r') as f: info_deserialized = json.load(f) session = OAuth1Session(**info_deserialized) base_url = 'https://api.etrade.com' market = Market(session, base_url) for param in sys.argv[1:]: quotes = market.quotes(param) for stock in quotes: symbol = stock['Product']['symbol'] chainDates = market.chainDates(symbol) chains = [{ 'Expiration': chainDate, **market.chains( symbol, { 'expiryYear': chainDate['year'], 'expiryMonth': chainDate['month'], 'expiryDay': chainDate['day'], 'includeWeekly': 'true',