简体   繁体   中英

How to run code over a certain period of time?

import requests
import time
import datetime
from matplotlib import pyplot as plt

url = 'https://financialmodelingprep.com/api/v3/stock/real-time-price'
r = requests.get(url).json()

start_price = {'MSFT': 0, 'AAPL': 0,'AMZN': 0,'PYPL': 0,'GOOGL': 0,'TSLA': 0,'FB': 0,'DIS': 0,'TD': 0,'NVDA': 0,'V': 0,'NFLX': 0,'WMT': 0,'ADBE': 0,'CM': 0,'NKE': 0,'DELL': 0,'TWTR': 0,'NSU': 0,'KO': 0,}
end_price = {'MSFT': 0, 'AAPL': 0,'AMZN': 0,'PYPL': 0,'GOOGL': 0,'TSLA': 0,'FB': 0,'DIS': 0,'TD': 0,'NVDA': 0,'V': 0,'NFLX': 0,'WMT': 0,'ADBE': 0,'CM': 0,'NKE': 0,'DELL': 0,'TWTR': 0,'NSU': 0,'KO': 0,}

now = time.time()
future = now + 10

while time.time() < future:
    for x in r['stockList']:
        current_time = str(datetime.datetime.now())
        if current_time[11:16] == '20:55':
            if x['symbol'] == 'MSFT':
                msft_price = (x['price'])
                start_price['MSFT'] = msft_price
            elif x['symbol'] == 'AAPL':
                aapl_price = (x['price'])
                start_price['AAPL'] = aapl_price
            elif x['symbol'] == 'AMZN':
                amzn_price = (x['price'])
                start_price['AMZN'] = amzn_price
            elif x['symbol'] == 'PYPL':
                pypl_price = (x['price'])
                start_price['PYPL'] = pypl_price
            elif x['symbol'] == 'GOOGL':
                googl_price = (x['price'])
                start_price['GOOGL'] = googl_price
            elif x['symbol'] == 'TSLA':
                tsla_price = (x['price'])
                start_price['TSLA'] = tsla_price
            elif x['symbol'] == 'FB':
                fb_price = (x['price'])
                start_price['FB'] = fb_price
            elif x['symbol'] == 'DIS':
                    dis_price = (x['price'])
                    start_price['DIS'] = dis_price
            elif x['symbol'] == 'TD':
                td_price = (x['price'])
                start_price['TD'] = td_price
            elif x['symbol'] == 'NVDA':
                nvda_price = (x['price'])
                start_price['NVDA'] = nvda_price
            elif x['symbol'] == 'V':
                v_price = (x['price'])
                start_price['V'] = v_price
            elif x['symbol'] == 'NFLX':
                nflx_price = (x['price'])
                start_price['NFLX'] = nflx_price
            elif x['symbol'] == 'WMT':
                wmt_price = (x['price'])
                start_price['WMT'] = wmt_price
            elif x['symbol'] == 'ADBE':
                adbe_price = (x['price'])
                start_price['ADBE'] = adbe_price
            elif x['symbol'] == 'CM':
                cm_price = (x['price'])
                start_price['CM'] = cm_price
            elif x['symbol'] == 'NKE':
                nke_price = (x['price'])
                start_price['NKE'] = nke_price
            elif x['symbol'] == 'DELL':
                dell_price = (x['price'])
                start_price['DELL'] = dell_price
            elif x['symbol'] == 'TWTR':
                twtr_price = (x['price'])
                start_price['TWTR'] = twtr_price
            elif x['symbol'] == 'NSU':
                nsu_price = (x['price'])
                start_price['NSU'] = nsu_price
            elif x['symbol'] == 'KO':
                ko_price = (x['price'])
                start_price['KO'] = ko_price
        elif current_time[11:16] == '20:56':
            if x['symbol'] == 'MSFT':
                msft_price = (x['price'])
                end_price['MSFT'] = msft_price
            elif x['symbol'] == 'AAPL':
                aapl_price = (x['price'])
                end_price['AAPL'] = aapl_price
            elif x['symbol'] == 'AMZN':
                amzn_price = (x['price'])
                end_price['AMZN'] = amzn_price
            elif x['symbol'] == 'PYPL':
                pypl_price = (x['price'])
                end_price['PYPL'] = pypl_price
            elif x['symbol'] == 'GOOGL':
                googl_price = (x['price'])
                end_price['GOOGL'] = googl_price
            elif x['symbol'] == 'TSLA':
                tsla_price = (x['price'])
                end_price['TSLA'] = tsla_price
            elif x['symbol'] == 'FB':
                fb_price = (x['price'])
                end_price['FB'] = fb_price
            elif x['symbol'] == 'DIS':
                dis_price = (x['price'])
                end_price['DIS'] = dis_price
            elif x['symbol'] == 'TD':
                td_price = (x['price'])
                end_price['TD'] = td_price
            elif x['symbol'] == 'NVDA':
                nvda_price = (x['price'])
                end_price['NVDA'] = nvda_price
            elif x['symbol'] == 'V':
                v_price = (x['price'])
                end_price['V'] = v_price
            elif x['symbol'] == 'NFLX':
                nflx_price = (x['price'])
                end_price['NFLX'] = nflx_price
            elif x['symbol'] == 'WMT':
                wmt_price = (x['price'])
                end_price['WMT'] = wmt_price
            elif x['symbol'] == 'ADBE':
                adbe_price = (x['price'])
                end_price['ADBE'] = adbe_price
            elif x['symbol'] == 'CM':
                cm_price = (x['price'])
                end_price['CM'] = cm_price
            elif x['symbol'] == 'NKE':
                nke_price = (x['price'])
                end_price['NKE'] = nke_price
            elif x['symbol'] == 'DELL':
                dell_price = (x['price'])
                end_price['DELL'] = dell_price
            elif x['symbol'] == 'TWTR':
                twtr_price = (x['price'])
                end_price['TWTR'] = twtr_price
            elif x['symbol'] == 'NSU':
                nsu_price = (x['price'])
                end_price['NSU'] = nsu_price
            elif x['symbol'] == 'KO':
                ko_price = (x['price'])
                end_price['KO'] = ko_price

print(start_price)
print(end_price)

Okay so this is my stock market app basically and what I want to do is to check the prices of certain stocks when the market opens and closes. In order for me to check this through I would need to run this code over a certain period of time. I tried to use time.time() and another variable future which is 10 seconds after the current time. The while loop is to check the stock prices over that time but for some reason, the while loop is infinite and doesn't exit the loop ever. How can I make it so that I check the price of each stock perhaps every hour or so?

You can call:

https://financialmodelingprep.com/api/v3/is-the-market-open

and look for the property: isTheStockMarketOpen

if isTheStockMarketOpen is true -> the market is open

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM