Python Forum
"Use proper inputs to download stock data"
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
"Use proper inputs to download stock data"
#10
Thank you, I changed the problem with potential input values. The thing is that I get "data" - line 41 of only one stock index. However, I need five datasets as the user introduces 5 countries.

Here is the modified code:
import quandl                     #To extract the data from Quandl website
from quandl.errors.quandl_error import NotFoundError #for error handling 
from datetime import date, timedelta                 # to define the date and time, while "timedelta" - for 1 month back
import matplotlib.pyplot as plt      #Plotting library
import pandas as pd                  #Time series working library
from scipy import interpolate        #Scipy library for interpolation 
import numpy as np
from scipy.optimize import leastsq

def MainFormula():
    exchange1, exchange2, exchange3, exchange4, exchange5  = [None]*5    
    while exchange1 is None or exchange2  is None or exchange3  is None or  exchange4  is None or exchange5  is None:
        exchange1, exchange2, exchange3, exchange4, exchange5 = input('Please, enter 5 countries for obtaining corresponding stock indices (with a comma in between): ').split(',')
        try:
            exchange1 = str(exchange1)  #ensure that entered exchage is string type
            exchange2 = str(exchange2)  #ensure that entered exchage is string type
            exchange3 = str(exchange3)  #ensure that entered exchage is string type
            exchange4 = str(exchange4)  #ensure that entered exchage is string type
            exchange5 = str(exchange5)  #ensure that entered exchage is string type
            if exchange1.lower() or exchange2.lower() or exchange3.lower() or exchange4.lower() or exchange5.lower() is "france":
                ticker = "CHRIS/LIFFE_FCE1"
            elif exchange1.lower() or exchange2.lower() or exchange3.lower() or exchange4.lower() or exchange5.lower() is "usa":
                ticker = "MULTPL/SP500_REAL_PRICE_MONTH"
            elif exchange1.lower() or exchange2.lower() or exchange3.lower() or exchange4.lower() or exchange5.lower() is "germany":
                ticker = "CHRIS/EUREX_FDAX1"
            elif exchange1.lower() or exchange2.lower() or exchange3.lower() or exchange4.lower() or exchange5.lower() is "hong_kong":
                ticker = "CHRIS/HKEX_HSI1"    
            elif exchange1.lower() or exchange2.lower() or exchange3.lower() or exchange4.lower() or exchange5.lower() is "india":
                ticker = "NSE/CNX_NIFTY"      
            elif exchange1.lower() or exchange2.lower() or exchange3.lower() or exchange4.lower() or exchange5.lower() is "japan":
                ticker = "NIKKEI/ALL_STOCK"     
            elif exchange1.lower() or exchange2.lower() or exchange3.lower() or exchange4.lower() or exchange5.lower() is "england":
                ticker = "CHRIS/LIFFE_Z1"                 
            elif exchange1.lower() or exchange2.lower() or exchange3.lower() or exchange4.lower() or exchange5.lower() is "china":
                ticker = "WFE/INDEXES_SHANGHAISESSECOMPOSITEINDEX"                    
            date_time = date.today() #define today's date
            ten_years = date_time - timedelta(days=365*10) # define the date one month ago
            end = date_time.strftime("%Y/%m/%d") #make sure that date is in Y-m-d format
            start = ten_years.strftime("%Y/%m/%d") #make sure that date is in Y-m-d format
            global data   #definre dataframe as global
            data = quandl.get(ticker, start_date=start, end_date=end)             
        except (SyntaxError, NotFoundError):
            " "
            print('Incorrect arguments. Please, try another country.')
            ticker = None               
    return "Here are the results"
program = MainFormula()               
print(program)  
Reply


Messages In This Thread
RE: "Use proper inputs to download stock data" - by Alberto - Jan-28-2018, 09:12 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
Question Stock market data in LibreOffice Calc Pitone 3 4,357 Jan-14-2021, 04:34 AM
Last Post: DrinkinBeer
Photo How to do a graph in Python? (and proper terminology) jpy 2 2,114 Dec-23-2020, 01:07 PM
Last Post: codeto

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020