def get_stock_symbols():
	nyse=[company['symbol'] for company in ss.get_nyse_symbols() if '$' not in company['symbol']]
	amex=[company['symbol'] for company in ss.get_amex_symbols() if '$' not in company['symbol']]
	ndaq=[company['symbol'] for company in ss.get_nasdaq_symbols() if '$' not in company['symbol']]
	sp500=[company['symbol'] for company in ss.get_sp500_symbols() if '$' not in company['symbol']]
	tsx=get_tsx_companies()
	return sp500,amex,nyse,ndaq,tsx
Beispiel #2
0
def generate_eod_tasks():
    '''
    Task responsible for generating work items used to obtain end of day
    data for stocks using get_eod_data() task
    '''
    db = MongoDBUtil()
    symbol_sets = set()

    #Gets all symbols
    sp500 = finsymbols.get_sp500_symbols()
    amex = finsymbols.get_amex_symbols()
    nyse = finsymbols.get_nyse_symbols()
    nasdaq = finsymbols.get_nasdaq_symbols()

    #Adds all symbols to set which removes duplicates
    symbol_sets.update(_get_symbol_set(sp500))
    symbol_sets.update(_get_symbol_set(amex))
    symbol_sets.update(_get_symbol_set(nyse))
    symbol_sets.update(_get_symbol_set(nasdaq))

    now = datetime.datetime.now()
    end_date = '-'.join([str(now.year),str(now.month),str(now.day)])

    his_symbols = db.has_historical_data(symbol_sets)
    if(len(his_symbols) >= 1):
        start_date = '1980-01-01'
        hist_job = group(get_eod_data.s(symbol,start_date,end_date) for symbol in symbol_sets)
        hist_job.apply_async()

    # Obtain data for current date
    job = group(get_eod_data.s(symbol,end_date,end_date) for symbol in symbol_sets)
    job.apply_async()
def getData(startDate, endDate, period):
    tickerSymbols = []
    sp500 = finsymbols.get_sp500_symbols()
    nasdaq = finsymbols.get_nasdaq_symbols()
    amex = finsymbols.get_amex_symbols()
    nyse = finsymbols.get_nyse_symbols()
    for companies in amex:
        tickerSymbols.append(companies.get("symbol"))
    print tickerSymbols
    return
    # start a period before the startdate to obtain the data
    print startDate, " ", endDate
    startDate = startDate - timedelta(days=period)
    print startDate

    data = {}
    for company in tickerSymbols:
        print company
        c = Share(company)
        histData = c.get_historical(str(startDate), str(endDate))
        histData = histData[::-1]  # reverse data so its easier to use
        data[company] = histData

    addTools(data, period)

    with open("Data/Amex_data.json", "w") as fp:
        json.dump(data, fp, indent=2)

    return data
Beispiel #4
0
def generate_eod_tasks():
    '''
    Task responsible for generating work items used to obtain end of day
    data for stocks using get_eod_data() task
    '''
    db = MongoDBUtil()
    symbol_sets = set()

    #Gets all symbols
    sp500 = finsymbols.get_sp500_symbols()
    amex = finsymbols.get_amex_symbols()
    nyse = finsymbols.get_nyse_symbols()
    nasdaq = finsymbols.get_nasdaq_symbols()

    #Adds all symbols to set which removes duplicates
    symbol_sets.update(_get_symbol_set(sp500))
    symbol_sets.update(_get_symbol_set(amex))
    symbol_sets.update(_get_symbol_set(nyse))
    symbol_sets.update(_get_symbol_set(nasdaq))

    now = datetime.datetime.now()
    end_date = '-'.join([str(now.year), str(now.month), str(now.day)])

    his_symbols = db.has_historical_data(symbol_sets)
    if (len(his_symbols) >= 1):
        start_date = '1980-01-01'
        hist_job = group(
            get_eod_data.s(symbol, start_date, end_date)
            for symbol in symbol_sets)
        hist_job.apply_async()

    # Obtain data for current date
    job = group(
        get_eod_data.s(symbol, end_date, end_date) for symbol in symbol_sets)
    job.apply_async()
Beispiel #5
0
def get_all_symbols():
    
    sp500 = finsymbols.get_sp500_symbols()
    df_sp500=pd.DataFrame(sp500)
    df_sp500['exchange']='SPY500'
    
    amex_symbols=finsymbols.get_amex_symbols()
    df_amex=pd.DataFrame(amex_symbols)
    df_amex['exchange']='AMEX'
    
    
    
    
    nyse_symbols=finsymbols.get_nyse_symbols()
    df_nyse=pd.DataFrame(nyse_symbols)
    df_nyse['exchange']='NYSE'
    
    
    nasdaq_symbols=finsymbols.get_nasdaq_symbols()
    df_nasdaq=pd.DataFrame(nasdaq_symbols)
    df_nasdaq['exchange']='NASDAQ'
    
    
    result=pd.concat([df_sp500,df_amex,df_nyse,df_nasdaq])
    dbdao.save_dataframe(result, "df_symbol_new")
Beispiel #6
0
def createListOfStocks():
    initialAmex = finsymbols.get_amex_symbols()
    initialNasdaq = finsymbols.get_nasdaq_symbols()
    initialNyse = finsymbols.get_nyse_symbols()
    
    nyse = [stockInfo['symbol'].strip() for stockInfo in initialNyse]
    nasdaq = [stockInfo['symbol'].strip() for stockInfo in initialNasdaq]
    amex = [stockInfo['symbol'].strip() for stockInfo in initialAmex]
    
    return nasdaq
Beispiel #7
0
# q = Quandl.search("GOOG")
# q = Quandl.get("WIKI/AAPL", authtoken="s-ceBqWs9isFj-sZ5xQY")
# print q.head()
# ys = ystockquote.get_all("%5EGSPC")
# print ys


historyRoute = True
lastDaysRoute = 2
stocks_to_buy_historic_low_header = ["Stock Symbol", "Start", "End", "Stock Lowest Ever", "Stock Current Price", "Buy"]
# stocks_to_buy_historic_low = []
# lowest_in_history_header_row = ["Stock Symbol", "Start", "End", "Stock Lowest Ever", "Stock Current Price", "Buy"]

stocks_to_buy_going_down = [["Stock Symbol", "Days", "Stock Previous Price", "Stock Current Price", "Buy"]]
# stocks_not_to_buy = []
amex = finsymbols.get_amex_symbols()
nyse = finsymbols.get_nyse_symbols()
nasdaq = finsymbols.get_nasdaq_symbols()
sp500 = finsymbols.get_sp500_symbols()

# Dow_Jones_Symbol = "%5EDJI"
# SP_500_Symbol = "%5EGSPC"
# Nasdaq_Symbol1 = "%5EIXIC"
# Nasdaq_Symbol2 = "%5ENDX"
def isCurrentLowest(stock):
    # print type(stock.get_price())
    current = float(stock.get_price())
    lowest = lowestPriceEver(stock)
    if cmp(current, lowest) < 0:
        # info = stock.get_info()
        # temp_stock_info.append(info)
Beispiel #8
0
    
    nyse_json = open('nyse.json', 'w')
    
    nyse_json.write(json.dumps(nyse))
    
if exchange == 'all' or exchange == '-nasdaq':
    
    nasdaq = finsymbols.get_nasdaq_symbols()
    
    nasdaq_json = open('nasdaq.json', 'w')
    
    nasdaq_json.write(json.dumps(nyse))

if exchange == 'all' or exchange == '-amex':
    
    amex = finsymbols.get_amex_symbols()
    
    amex_json = open('amex.json', 'w')
    
    amex_json.write(json.dumps(nyse))

if exchange == 'all' or exchange == '-sp500':
    
    sp500 = finsymbols.get_sp500_symbols()
    
    sp500_json = open('sp500.json', 'w')
    
    sp500_json.write(json.dumps(sp500))


Beispiel #9
0
    os.makedirs("saved/")
except OSError, e:
    if e.errno != errno.EEXIST:
        raise
stock_ex = raw_input("Which stock market would you like to screen: ")
repull_data = raw_input("Pull stock tickers names(y/n): ")

if "y" in repull_data:
    if "nyse" in stock_ex:
        stock_list = fin.get_nyse_symbols()
    if "sp500" in stock_ex:
        stock_list = fin.get_sp500_symbols()
    if "nasdaq" in stock_ex:
        stock_list = fin.get_nasdaq_symbols()
    if "amex" in stock_ex:
        stock_list = fin.get_amex_symbols()
    ticker_list = []
    for stock_n in stock_list:
        ticker_list.append(str(stock_n["symbol"]))
    target = open(stock_ex + "_list.txt", "w")
    for ticker in ticker_list:
        target.write(ticker + "\n")
    target.close()
if "n" in repull_data:
    ticker_list = []
    target = open(stock_ex + "_list.txt", "r")
    pull_list = target.readlines()
    target.close()
    for pulled in pull_list:
        pulled = pulled.split("\n")
        ticker_list.append(pulled[0])
Beispiel #10
0
#! /usr/bin/env python
import os
import sys
import json
import finsymbols as data

if __name__ == '__main__':
    #a =data.get_sp500_symbols()
    a = data.get_amex_symbols()
    b = data.get_nyse_symbols()
    c = data.get_nasdaq_symbols()
    a +=b+c
    print(type(a), len(a))
    with open('ticker.json', 'w+') as outfile:
        json.dump(a, outfile)
    with open('ticker.txt', 'w+') as f:
        for line in a:
            f.write(str(line)+'\n')