当前位置: 首页>>代码示例>>Python>>正文


Python Share.get_percent_change方法代码示例

本文整理汇总了Python中yahoo_finance.Share.get_percent_change方法的典型用法代码示例。如果您正苦于以下问题:Python Share.get_percent_change方法的具体用法?Python Share.get_percent_change怎么用?Python Share.get_percent_change使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在yahoo_finance.Share的用法示例。


在下文中一共展示了Share.get_percent_change方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from yahoo_finance import Share [as 别名]
# 或者: from yahoo_finance.Share import get_percent_change [as 别名]
class Market:
    __PULL_INTERVAL_IN_MIN = 5
            
    def __init__ (self, s):
        self.share_string       = s
        self.share              = Share(s)
        
        self.current_price      = self.share.get_price()
        self.price              = self.current_price
        self.market_cap         = self.share.get_market_cap()
        self.open_price         = self.share.get_open()
        self.prev_close_price   = self.share.get_prev_close()
        self.percent_change     = self.share.get_percent_change()
        
        self.price_array = []
        self.time_array = []
    
    
    def pullPrices(self):
        file_string = "share_" + self.share_string + ".dat"
        dataFile = open(file_string, "w+")
        start_time = int(time.strftime("%-S"))
        last_time = start_time
        
        while (1 == 1):
            current_time = int(time.strftime("%-S"))
            if (current_time >= 60):
                current_time = 0
            
            if (current_time - last_time < 0):
                last_time = -60 - (current_time - last_time)
                
            if (int(time.strftime("%-S")) - last_time >= self.__PULL_INTERVAL_IN_MIN):
                dataFile.write (time.strftime('%l:%M%p, %b %d, %Y') + "\t")
                dataFile.write (self.share.get_price())
                dataFile.write ("\n")
                dataFile.flush ()
                last_time = int(time.strftime("%-S"))
    
    
    
    def __storeData(self, filename):
        dataFile = open(filename, "r")
        lineList = dataFile.readLines()
        
        for i in range(len(lineList)):
            index1 = lineList[i].index('\t')
            price = float(lineList[i][index1:])
            price_array.append(price)
        
        dataFile.close() 
    
    
    def getSlope(self, filename):
        __storeData(filename)
        
        length = len(self.price_array)
        current_slope = (self.price_array[length] - self.price_array[length-1])/(self.time_array[length] - self.time_array[length-1])
        return current_slope
        
        
    def getSecondDegreeSlope(self, filename):
        __storeData(filename)
        
        length = len(price_array)
        current_slope = (self.price_array[length] - self.price_array[length-1])/(self.time_array[length] - self.time_array[length-1])
        last_slope = (self.price_array[length-1] - self.price_array[length-2])/(self.time_array[length-1] - self.time_array[length-2])
        
        current_secondDegreeSlope = (current_slope - last_slope)/(self.time_array[length] - self.time_array[length-1])
        
        return current_secondDegreeSlope
开发者ID:larrtang,项目名称:Public-Projects,代码行数:73,代码来源:Market.py

示例2: get_info

# 需要导入模块: from yahoo_finance import Share [as 别名]
# 或者: from yahoo_finance.Share import get_percent_change [as 别名]
def get_info(ticker):
    # rjson = get_json(ticker)
    info = {}

    try:
        stock = Share(ticker)

        # 0: Get name
        url = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query={}&region=1&lang=en".format(ticker)
        print("Ticker: ", ticker)
        result = requests.get(url).json()

        for x in result['ResultSet']['Result']:
            if x['symbol'] == ticker:
                info['name'] = truncate(x['name'])

        if info['name'] == "" or info['name'] == None:
            raise ValueError('Did not obtain a real value!')


        # 1: Get price
        # info['price'] = float(rjson[0][u'l'])
        info['price'] = get_price(ticker)

        if info['price'] == 0 or info['price'] == None:
            raise ValueError('Did not obtain a real value!')

        # 2: Get datetime
        # info['datetime'] = rjson[0][u'lt']
        info['datetime'] = getdatetime(ticker)

        if info['datetime'] == "" or info['datetime'] == None:
            raise ValueError('Did not obtain a real value!')

        # 3: Get gain
        # change = rjson[0][u'c']
        # if change is None:
        #     info['gain'] = 0
        # c = change.split("+")
        # if (len(c) > 1):
        #     info['gain'] = float(c[1])
        # info['gain'] = float(change)
        change = stock.get_change()

        if change is None:
            info['gain'] = 0
        else:
            info['gain'] = float(stock.get_change())

        if info['gain'] == None:
            raise ValueError('Did not obtain a real value!')

        # 4: Get percent change
        # info['percentchange'] = float(rjson[0][u'cp'])
        try:
            percentChange = stock.get_percent_change()
            percentChange = percentChange.split("%")[0]
            if len(percentChange.split("+")) > 1:
                percentChange = percentChange.split("+")[1]
            elif len(percentChange.split("-")) > 1:
                percentChange = percentChange.split("-")[1]

            info['percentchange'] = float(percentChange)
        except:
            info['percentchange'] = stock.get_percent_change()

        if info['percentchange'] == None:
            raise ValueError('Did not obtain a real value!')

    except:
        if db.session.query(Stock).filter_by(ticker = ticker).count() > 0:
            found_stock = db.session.query(Stock).filter_by(ticker = ticker).first()
            info['name'] = found_stock.name
            info['price'] = found_stock.price
            info['datetime'] = found_stock.datetime
            info['gain'] = found_stock.change
            info['percentchange'] = found_stock.percentChange
        else:
            info['name'] = "N/A"
            info['price'] = 0.00
            info['datetime'] = "N/A"
            info['gain'] = 0.00
            info['percentchange'] = 0.00

    return info
开发者ID:TexasUsit,项目名称:VotingChallengeApp,代码行数:87,代码来源:mainApp.py


注:本文中的yahoo_finance.Share.get_percent_change方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。