Пример #1
0
def index():
    form = investmentForm()
    if request.method == 'POST' and form.validate():

        #Get form field data
        symb = form.stockSymbol.data
        stock = Stock(symb)
        openPrice = stock.get_open()
        nowPrice = stock.get_price()
        companyInfo = stock.get_company()
        companyName = companyInfo['companyName']
        symbol = companyInfo['symbol']
        calculate = openPrice - nowPrice
        calc = "{:.2f}".format(calculate)

        ct = datetimeConverstion()
        percentage = ((openPrice - nowPrice) / openPrice) * 100
        percent = "{:.2f}".format(percentage)
        new_date = ct.strftime('%A %Y-%m-%d %I:%M %p')

        return render_template('price.html',
                               symbol=symbol,
                               companyName=companyName,
                               nowPrice=nowPrice,
                               new_date=new_date,
                               calc=calc,
                               percent=percent)
    return render_template('home.html', form=form)
Пример #2
0
def main(argv):
    print("name\tprice\topen\tvariation")
    for n in argv:
        try:
            s = Stock(n)
            price = s.get_price()
            open = s.get_open()
            variation = 100 * (price - open) / open
            print("{}\t{}\t{}\t{:.3f} %".format(n, price, open, variation))
        except:
            sys.stderr.write("error fetching data for '{}'\n".format(n))
Пример #3
0
end = datetime.today()
df = get_historical_data('MMM', start=start, end=end, output_format='pandas')
df['date'] = df.index
#df.drop(['date'],axis=1)
df.reset_index(level=0, inplace=True)
scipy.io.savemat('test.mat', {'struct': df.to_dict('list')})

#IES Market Data
a = get_market_tops('TSLA', output_format='pandas')
get_market_last()
get_market_deep()
get_market_book()
# IEX stats
get_stats_intraday()
get_stats_recent()[0]
get_stats_records()
get_stats_daily(last=3)
get_stats_monthly(start=datetime(2017, 2, 9), end=datetime(2017, 5, 24))[0]

b = get_stats_intraday('TSLA')

tsla = Stock(['TSLA', 'AAPL'], output_format='pandas')
tsla.get_open()
tsla.get_price()

df = get_historical_data("AAPL", start=start, end=end, output_format='pandas')
df.head()
df.tail()

df.plot()
plt.show()
Пример #4
0
# https://pypi.org/project/iexfinance/

# Stock
from iexfinance import Stock

tsla = Stock('TSLA')
print('TSLA open: %f' % tsla.get_open())
print('TSLA price: %f' % tsla.get_price())

# Historical Data
from iexfinance import get_historical_data
from datetime import datetime
import pandas as pd

start = datetime(2014, 1, 1)
end = datetime(2018, 10, 1)

aapl_hist_df = get_historical_data("AAPL", start=start, end=end, output_format='pandas')

days_from_start = []
for x in aapl_hist_df.axes[0]:
    dt = datetime.strptime(x, "%Y-%m-%d")
    if start is None:
        start = dt
    diff = dt - start
    days_from_start.append(diff.days)

aapl_hist_closing_df = pd.DataFrame({'price': aapl_hist_df['close'], 'days_from_start': days_from_start})

# Chart it
import matplotlib.pyplot as plt
Пример #5
0
class TestFieldMethodsBatch(object):
    def setup_class(self):
        self.batch = Stock(["AAPL", "TSLA"])
        self.batch2 = Stock(["AAPL", "TSLA"], output_format='pandas')
        self.batch4 = Stock(["AAPL", "TSLA"],
                            json_parse_int=Decimal,
                            json_parse_float=Decimal)

    def test_get_company_name(self):
        data = self.batch.get_company_name()
        assert isinstance(data, dict)
        assert data["AAPL"] == "Apple Inc."

        data2 = self.batch2.get_company_name()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))

    def test_get_primary_exchange(self):
        data = self.batch.get_primary_exchange()
        assert isinstance(data, dict)
        assert data["AAPL"] == "Nasdaq Global Select"

        data2 = self.batch2.get_primary_exchange()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))

    def test_get_sector(self):
        data = self.batch.get_sector()
        assert isinstance(data, dict)
        assert data["AAPL"] == "Technology"

        data2 = self.batch2.get_sector()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))

    def test_get_open(self):
        data = self.batch.get_open()
        assert isinstance(data, dict)
        assert data["AAPL"] > 0

        data2 = self.batch2.get_open()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "float64"

    def test_get_close(self):
        data = self.batch.get_close()
        assert isinstance(data, dict)
        assert data["AAPL"] > 0

        data2 = self.batch2.get_close()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "float64"

    def test_get_years_high(self):
        data = self.batch.get_years_high()
        assert isinstance(data, dict)
        assert data["AAPL"] > 0

        data2 = self.batch2.get_years_high()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "float64"

    def test_get_years_low(self):
        data = self.batch.get_years_low()
        assert isinstance(data, dict)
        assert data["AAPL"] > 0

        data2 = self.batch2.get_years_low()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "float64"

    def test_get_ytd_change(self):
        data = self.batch.get_ytd_change()
        assert isinstance(data, dict)

        data2 = self.batch2.get_ytd_change()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "float64"

    def test_get_volume(self):
        data = self.batch.get_volume()
        assert isinstance(data, dict)
        assert data["AAPL"] > 50000

        data2 = self.batch2.get_volume()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "int64"

    def test_get_market_cap(self):
        data = self.batch.get_market_cap()
        assert isinstance(data, dict)
        assert data["AAPL"] > 1000000

        data2 = self.batch2.get_market_cap()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "int64"

    def test_get_beta(self):
        data = self.batch.get_beta()
        assert isinstance(data, dict)
        assert isinstance(data["AAPL"], float)

        data2 = self.batch2.get_beta()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.batch4.get_beta()
        assert isinstance(data4, dict)
        assert isinstance(data4["AAPL"], Decimal)

    def test_get_short_interest(self):
        data = self.batch.get_short_interest()
        assert isinstance(data, dict)
        assert data["AAPL"] > 50000

        data2 = self.batch2.get_short_interest()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "int64"

    def test_get_short_ratio(self):
        data = self.batch.get_short_ratio()
        assert isinstance(data, dict)
        assert isinstance(data["AAPL"], float)

        data2 = self.batch2.get_short_ratio()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.batch4.get_short_ratio()
        assert isinstance(data4, dict)
        assert isinstance(data4["AAPL"], Decimal)

    def test_get_latest_eps(self):
        data = self.batch.get_latest_eps()
        assert isinstance(data, dict)
        assert isinstance(data["TSLA"], float)

        data2 = self.batch2.get_latest_eps()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["TSLA"].dtype == "float64"

        data4 = self.batch4.get_latest_eps()
        assert isinstance(data4, dict)
        assert isinstance(data4["AAPL"], Decimal)

    def test_get_shares_outstanding(self):
        data = self.batch.get_shares_outstanding()
        assert isinstance(data, dict)
        assert data["AAPL"] > 100000

        data2 = self.batch2.get_shares_outstanding()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "int64"

    def test_get_float(self):
        data = self.batch.get_float()
        assert isinstance(data, dict)
        assert data["AAPL"] > 1000000

        data2 = self.batch2.get_float()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "int64"

    def test_get_eps_consensus(self):
        data = self.batch.get_eps_consensus()
        assert isinstance(data, dict)
        assert isinstance(data["AAPL"], float)

        data2 = self.batch2.get_eps_consensus()
        assert isinstance(data2, pd.DataFrame)
        assert_index_equal(data2.index, pd.Index(self.batch2.symbols))
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.batch4.get_eps_consensus()
        assert isinstance(data4, dict)
        assert isinstance(data4["AAPL"], Decimal)
Пример #6
0
class TestFieldMethodsShare(object):
    def setup_class(self):
        self.share = Stock("AAPL")
        self.share2 = Stock("AAPL", output_format='pandas')
        self.share4 = Stock("AAPL",
                            json_parse_int=Decimal,
                            json_parse_float=Decimal)
        self.share5 = Stock("TSLA")

    def test_get_company_name(self):
        data = self.share.get_company_name()
        print(type(data))

        assert isinstance(data, six.string_types)
        assert data == "Apple Inc."

        data2 = self.share2.get_company_name()
        assert isinstance(data2, pd.DataFrame)

    def test_get_primary_exchange(self):
        data = self.share.get_primary_exchange()
        assert isinstance(data, six.string_types)
        assert data == "Nasdaq Global Select"

        data2 = self.share2.get_primary_exchange()
        assert isinstance(data2, pd.DataFrame)

    def test_get_sector(self):
        data = self.share.get_sector()

        assert isinstance(data, six.string_types)
        assert data == "Technology"

        data2 = self.share2.get_sector()
        assert isinstance(data2, pd.DataFrame)

    def test_get_open(self):
        data = self.share.get_open()
        assert isinstance(data, float)
        assert data > 0

        data2 = self.share2.get_open()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.share4.get_open()
        assert isinstance(data4, Decimal)
        assert data4 > 0

    def test_get_close(self):
        data = self.share.get_close()
        assert isinstance(data, float)
        assert data > 0

        data2 = self.share2.get_close()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.share4.get_close()
        assert isinstance(data4, Decimal)
        assert data4 > 0

    def test_get_years_high(self):
        data = self.share.get_years_high()
        assert isinstance(data, float)
        assert data > 0

        data2 = self.share2.get_years_high()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.share4.get_years_high()
        assert isinstance(data4, Decimal)
        assert data4 > 0

    def test_get_years_low(self):
        data = self.share.get_years_low()
        assert isinstance(data, float)
        assert data > 0

        data2 = self.share2.get_years_low()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.share4.get_years_low()
        assert isinstance(data4, Decimal)
        assert data4 > 0

    def test_get_ytd_change(self):
        data = self.share.get_ytd_change()
        assert isinstance(data, float)

        data2 = self.share2.get_ytd_change()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.share4.get_ytd_change()
        assert isinstance(data4, Decimal)

    def test_get_volume(self):
        data = self.share.get_volume()
        assert isinstance(data, int)
        assert data > 1000

        data2 = self.share2.get_volume()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "int64"

        data4 = self.share4.get_volume()
        assert isinstance(data4, Decimal)
        assert data4 > 1000

    def test_get_market_cap(self):
        data = self.share.get_market_cap()
        assert isinstance(data, int)

        data2 = self.share2.get_market_cap()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "int64"

        data4 = self.share4.get_market_cap()
        assert isinstance(data4, Decimal)

    def test_get_beta(self):
        data = self.share.get_beta()
        assert isinstance(data, float)

        data2 = self.share2.get_beta()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.share4.get_beta()
        assert isinstance(data4, Decimal)

    def test_get_short_interest(self):
        data = self.share.get_short_interest()
        assert isinstance(data, int)

        data2 = self.share2.get_short_interest()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "int64"

        data4 = self.share4.get_short_interest()
        assert isinstance(data4, Decimal)

    def test_get_short_ratio(self):
        data = self.share.get_short_ratio()
        assert isinstance(data, float)

        data2 = self.share2.get_short_ratio()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.share4.get_short_ratio()
        assert isinstance(data4, Decimal)

    def test_get_latest_eps(self):
        data = self.share5.get_latest_eps()
        assert isinstance(data, float)

        data4 = self.share4.get_latest_eps()
        assert isinstance(data4, Decimal)

    def test_get_shares_outstanding(self):
        data = self.share.get_shares_outstanding()
        assert isinstance(data, int)

        data2 = self.share2.get_shares_outstanding()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "int64"

        data4 = self.share4.get_shares_outstanding()
        assert isinstance(data4, Decimal)

    def test_get_float(self):
        data = self.share.get_float()
        assert isinstance(data, int)

        data2 = self.share2.get_float()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "int64"

        data4 = self.share4.get_float()
        assert isinstance(data4, Decimal)

    def test_get_eps_consensus(self):
        data = self.share.get_eps_consensus()
        assert isinstance(data, float)

        data2 = self.share2.get_eps_consensus()
        assert isinstance(data2, pd.DataFrame)
        assert data2.loc["AAPL"].dtype == "float64"

        data4 = self.share4.get_eps_consensus()
        assert isinstance(data4, Decimal)
Пример #7
0
 def run():
     tsla = Stock('VOO')
     price_open = tsla.get_open()
     price_now = tsla.get_price()
     print(price_open)
     print(price_now)
Пример #8
0
myList = [
    'DATA', 'CRM', 'SPLK', 'WDAY', 'HLT', 'BLL', 'MFGP', 'WEX', 'DXC', 'MSFT',
    'AAPL', 'SBUX', 'NKE', 'T', 'GOOGL', 'FB', 'TWTR', 'AKAM', 'LLNW', 'GD',
    'LDOS', 'BA', 'MSTR', 'BMCH', 'CTSH', 'WIT', 'OTEX', 'SPOT', 'AYX', 'SATS',
    'MAR', 'TENB', 'CBLK', 'ZS', 'GCI', 'VRNT'
]

# Create separate Dictionaries for 'Open' and 'Close' prices
qOpen = {}
qClose = {}
qNews = {}  # Attributes={datetime, headline, source, url, summary, related}
for x in myList:
    print('Retrieving quote info for %s...' % x)
    theQuote = Stock(x)  #x, output_format='pandas')

    resOpen = theQuote.get_open()
    resClose = theQuote.get_close(
    )  #get_quote(filter_=['ytdChange', 'open', 'close', 'avgTotalVolume'])
    qOpen[x] = resOpen
    qClose[x] = resClose
    newsList = theQuote.get_news(last=7)

print('')
print('Formatting output...')
for key in qOpen.keys():
    val = qOpen[key]
    print("Key: ", key, "\t Open:", val, "\t Close:",
          qClose[key])  #, "\t News:", qNews[key])

print('')
del qOpen
Пример #9
0
from iexfinance import Stock
tsla = Stock('TSLA')
print(tsla.get_open())
print(tsla.get_price())

from iexfinance import get_historical_data
from datetime import datetime

start = datetime(2017, 2, 9)
end = datetime(2017, 5, 24)

# df = get_historical_data("AAPL", start=start, end=end, output_format='pandas')

from iexfinance import get_stats_intraday

print(get_stats_intraday())
Пример #10
0
#!/usr/bin/env python3.5

from iexfinance import Stock
from iexfinance import get_available_symbols as gas

# Documentation on iexfinance: https://addisonlynch.github.io/iexfinance/stable/ref.html

# load all symbols - list
symbols = gas()

# look at Tesla
tsla = Stock('TSLA')
opn = tsla.get_open()
pri = tsla.get_price()
print('Tesla: open price %f, current price %f' % (opn, pri))

# look at AA (Alcoa?)
aa = Stock('AA')
eps = aa.get_latest_eps()
pri = aa.get_price()
print('AA: latest EPS %f, current price %f' % (eps, pri))

# show symbols and company name for each
# for s in symbols:
#   if s['isEnabled'] == True: print(s['symbol'] + ', ' + s['name'])

# Apple
apple = Stock('AAPL')
apple.get_key_stats()
apple.get_volume()
apple.get_earnings()
Пример #11
0
from iexfinance import Stock
from iexfinance import get_historical_data
from datetime import datetime
tsla = Stock('TSLA')
print("open", tsla.get_open())
print("volume", tsla.get_volume())
print("price", tsla.get_price())
print("close", tsla.get_close())

start = datetime(2018,10,11)
end = datetime(2018,10,13)

df = get_historical_data("AAPL", start = start, end = end, output_format = 'pandas')
print(df.head())