コード例 #1
0
    def test_string_output(self):
        sp500 = symbols.get_sp500_symbols()
        company = sp500[0]

        assert isinstance(company['company'],
                          string_types) == True, 'Company dict: {}.\
         Expected output to be string'.format(company)
コード例 #2
0
def get_symbols():
    sp_500 = symbols.get_sp500_symbols()
    symbolList = list()

    for e in sp_500:
        symbolList.append(e.get("symbol"))

    return symbolList
コード例 #3
0
ファイル: stock_symbol.py プロジェクト: satroan/deep_finance
 def get_sp500_tickers():
     if len(Ticker._sp500_tickers) > 0:
         # print len(Ticker._sp500_tickers)
         return Ticker._sp500_tickers
     sp500 = symbols.get_sp500_symbols()
     # print sp500
     Ticker._sp500_tickers = [e['symbol'] for e in sp500]
     # print Ticker._sp500_tickers
     return Ticker._sp500_tickers
コード例 #4
0
async def run_IEX():
    from finsymbols import symbols

    #create or connect to existing db
    db = sqlite3.connect('stock_tables.db')

    # Get the symbol list from wiki
    all_symbols = symbols.get_sp500_symbols()

    # Longer lists of symbols are available
    # all_symbols = symbols.get_nyse_symbols() 3,139
    # all_symbols = symbols.get_nasdaq_symbols() 3,295
    # all_symbols = symbols.get_amex_symbols() 315

    # Google and Fox have dual class shares so drop superfluous symbols
    drop_symbols = ['GOOG', 'FOX']
    good_symbols = [
        x['symbol'] for x in all_symbols
        if x['symbol'] not in set(drop_symbols)
    ]
    # good_symbols = good_symbols[480:] # Turn this on for testing...only runs last ~20 tickers

    # Save symbols and their data to db
    symbol_frame = pd.DataFrame(all_symbols)
    symbol_frame.to_sql('Names', db)

    executor = concurrent.futures.ThreadPoolExecutor(max_workers=50)

    futures = [
        loop.run_in_executor(executor, get_IEX, i) for i in good_symbols
    ]
    results = await asyncio.gather(*futures)

    for (i, result) in zip(good_symbols, results):
        p = result.iloc[-1]['close']
        last = result.index.values[-1]
        first = result.index.values[0]
        #print(results)
        print('{0}: {1} close = {2} - First day available {3}'.format(
            last, i, p, first))

        # Add return columns
        # https://stackoverflow.com/questions/31287552/logarithmic-returns-in-pandas-dataframe
        result['pct_change'] = result.close.pct_change()
        result['log_return'] = np.log(1 + result['pct_change'])

        # Add ATR to the frame too
        result = add_atr_to_dataframe(result)

        # Save to table with symbol as the name
        result.to_sql(i, db)

    # Commit DB
    db.commit()
    # Close the DB connection
    db.close()
コード例 #5
0
def create_symbol_lists():
    sp500 = sym.get_sp500_symbols()
    nyse = sym.get_nyse_symbols()
    amex = sym.get_amex_symbols()
    nasdaq = sym.get_nasdaq_symbols()

    Df_sp500 = pd.DataFrame(sp500)
    #    Df_nyse = pd.DataFrame(nyse)
    #    Df_amex = pd.DataFrame(amex)
    #    Df_nasdaq = pd.DataFrame(nasdaq)

    start = ""
    with open('/root/jTWSdump_707/requests/base.txt', 'r') as f:
        start = f.read()


#	start += "\n"
    f.close()
    s_sp500 = ""
    for symbol in Df_sp500.symbol:
        if "^" in symbol or "." in symbol:
            continue
        #s_sp500 += '"'+symbol.strip()+'" "STK" "SMART" "" "" "" "USD" "" "10 D" "1 min" "1" "TRADES" "10" ""'+'\n'
        s_sp500 += '"' + symbol.strip(
        ) + '" "STK" "SMART" "" "" "" "USD" "" "5 Y" "1 day" "1" "TRADES" "1" ""' + '\n'

    s_nyse = ""
    #    for symbol in Df_nyse.symbol:
    #        if "^" in symbol or "." in symbol:
    #            continue
    #       # s_nyse += '"'+symbol.strip()+'" "STK" "SMART/NYSE" "" "" "" "USD" "" "10 D" "1 min" "1" "TRADES" "10" ""'+'\n'
    #        s_nyse += '"'+symbol.strip()+'" "STK" "SMART/NYSE" "" "" "" "USD" "" "5 Y" "1 day" "1" "TRADES" "1" ""'+'\n'
    #
    s_amex = ""
    #    for symbol in Df_amex.symbol:
    #        if "^" in symbol or "." in symbol:
    #            continue
    #        #s_amex += '"'+symbol.strip()+'" "STK" "SMART" "" "" "" "USD" "" "10 D" "1 min" "1" "TRADES" "10" ""'+'\n'
    #        s_amex += '"'+symbol.strip()+'" "STK" "SMART" "" "" "" "USD" "" "5 Y" "1 day" "1" "TRADES" "1" ""'+'\n'
    #
    s_nasdaq = ""
    #
    #    for symbol in Df_nasdaq.symbol:
    #        if "^" in symbol or "." in symbol:
    #            continue
    #        #s_nasdaq += '"'+symbol.strip()+'" "STK" "SMART/NASDAQ" "" "" "" "USD" "" "10 D" "1 min" "1" "TRADES" "10" ""'+'\n'
    #        s_nasdaq += '"'+symbol.strip()+'" "STK" "SMART/NASDAQ" "" "" "" "USD" "" "5 Y" "1 day" "1" "TRADES" "1" ""'+'\n'

    with open('/root/jTWSdump_707/requests/zipline.txt', 'w+') as f:
        f.write(start)
        f.write(s_sp500)
        f.write(s_nyse)
        f.write(s_amex)
        f.write(s_nasdaq)

        f.close()
コード例 #6
0
    def getSymbols(self):
        idxs = self.cfg["general"]["idxs"].split(",")
        symbols_list = []
        sectors_map = {}

        if "sp500" in idxs:
            symbols_list += symbols.get_sp500_symbols()
        if "nyse" in idxs:
            symbols_list += symbols.get_nyse_symbols()
        if "nasdaq" in idxs:
            symbols_list += symbols.get_nasdaq_symbols()
        if "amex" in idxs:
            symbols_list += symbols.get_amex_symbols()

        for s in symbols_list:
            sectors_map[s["symbol"]] = s["sector"]

        with open(self.pwd + "cfg/tickers.json", "w") as f:
            json.dump(sectors_map, f)
コード例 #7
0
import imp
import os
import datetime
import json
import pandas_datareader as web
import pandas_montecarlo
from finsymbols import symbols
import random
import matplotlib.pyplot as plt
%matplotlib inline
import quandl
#quandl.ApiConfig.api_key = "YbsGkVvwF-nJbuf7cbC4"
quandl.ApiConfig.api_key = "natezkiWArzE7_mz-oc5"
#------------------------------------------------------------------------------
#Scrape Symbols
sp500_JSON = symbols.get_sp500_symbols()
sp500_DF = pd.read_json(json.dumps(sp500_JSON))
sp500_list = list(sp500_DF['symbol'])
sp500 = sorted([str(i).replace('.','_') for i in sp500_list])
#------------------------------------------------------------------------------
start='2012-01-01'
end= '2018-04-13'

#------------------------------------------------------------------------------
#SP500 Constituent Returns
sp500_test=sp500[0:250]


data1 = quandl.get_table('WIKI/PRICES', ticker = sp500_test, 
                        qopts = { 'columns': ['ticker','adj_close'] }, 
                        date = { 'gte': start, 'lte': end}, 
コード例 #8
0
ファイル: symbols_test.py プロジェクト: sfinucane/finsymbols
 def test_sp500_size(self):
     sp500 = symbols.get_sp500_symbols()
     assert len(sp500) == 505, 'len gathered data: {}.\
      Expected len: 504'.format(len(sp500))
コード例 #9
0
ファイル: symbols.py プロジェクト: BluhbergTerminal/PyFinra
def sp500():
    return symbols.get_sp500_symbols()
コード例 #10
0

# In[16]:

intrinio_get_company_financials_csv("GE", "2006", "Q3")

# In[5]:

import sys
import json
import finsymbols

sys.path.append('/home/skillachie/Desktop/')
from finsymbols import symbols

sp500 = symbols.get_sp500_symbols()
companies = json.dumps(sp500, indent=1, sort_keys=True)

# In[6]:

# import os
# count = 0
# def get_SandP_metadata():
#     if not os.path.exists("data"):
#         os.makedirs("data")
#     for entry in sp500:
#         datafileName = "./data/data_" + str(entry["symbol"])
#         with open(datafileName, "w") as outfile:
#             data = intrinio_get_company_metadata(entry["symbol"])
#             json.dump(data, outfile, indent=1, sort_keys=True)
#             count += 1
コード例 #11
0
ファイル: symbols_test.py プロジェクト: hedgefair/finsymbols
    def test_string_output(self):
        sp500 = symbols.get_sp500_symbols()
        company = sp500[0]

        assert isinstance(company['company'], string_types) == True, 'Company dict: {}.\
         Expected output to be string'.format(company)
コード例 #12
0
ファイル: symbols_test.py プロジェクト: hedgefair/finsymbols
 def test_sp500_size(self):
     sp500 = symbols.get_sp500_symbols()
     assert len(sp500) == 504, 'len gathered data: {}.\
      Expected len: 504'.format(len(sp500))