File size: 1,610 Bytes
ab50b27
d31c699
087ef0b
d31c699
83c311b
ab50b27
d31c699
 
 
 
 
 
 
 
34c23a9
a261fc2
d31c699
04f6c13
 
 
a261fc2
04f6c13
 
 
34c23a9
d31c699
 
 
83c311b
 
 
d31c699
 
 
 
 
 
 
 
83c311b
 
 
 
d31c699
 
 
 
 
34c23a9
d31c699
 
34c23a9
ab50b27
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import streamlit as st
import requests
import pandas as pd
from datetime import datetime
import pytz

# Hard-coded API key for demonstration purposes
API_KEY = "QR8F9B7T6R2SWTAT"

def fetch_alpha_vantage_data(api_key, symbol):
    url = f'https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol={symbol}&apikey={api_key}'
    response = requests.get(url)
    alpha_vantage_data = response.json()
    return alpha_vantage_data

def main():
    st.title("Real-Time Stock Data")

    # User input for stock symbol
    symbol = st.text_input("Enter Stock Symbol (e.g., IBM):")

    if not symbol:
        st.warning("Please enter a valid stock symbol.")
        st.stop()

    # Use the hard-coded API key
    api_key = API_KEY

    # Set the desired time zone (e.g., 'US/Eastern')
    desired_time_zone = 'US/Eastern'

    # Continuously fetch and display real-time data
    while True:
        # Fetch Alpha Vantage data
        alpha_vantage_data = fetch_alpha_vantage_data(api_key, symbol)

        # Extract relevant data from Alpha Vantage response
        alpha_vantage_quote = alpha_vantage_data.get('Global Quote', {})
        df = pd.DataFrame([alpha_vantage_quote])

        # Convert the timestamp to the desired time zone
        df.index = [datetime.now(pytz.timezone(desired_time_zone))]

        df = df.dropna(axis=0)

        # Display the real-time data
        st.subheader("Real-Time Data:")
        st.write(df)

        # Add a delay to avoid exceeding API rate limits
        st.experimental_sleep(60)  # Sleep for 60 seconds (adjust as needed)

if __name__ == "__main__":
    main()