예제 #1
0
 def get_top_gainers(self, filter_num=20):
     """
     Get the stop gainers for the previous day
     :param filter_num: number of stocks to filter
     :return: a list of stocks
     """
     str = "https://finviz.com/screener.ashx?v=141&s=ta_topgainers&o=-change"
     stock_list = Screener.init_from_url(str)
     stock_gainers = []
     for stock in stock_list[0:filter_num]:
         stock_gainers.append(stock['Ticker'])
     return stock_gainers
예제 #2
0
from finviz.screener import Screener
import finviz.main_func

urls = ["https://finviz.com/screener.ashx"]

tickers = []

last_dividend = 0.0

max_div = 0.0

for url in urls:
    stock_list = Screener.init_from_url(url, rows=8000)
    for pos in range(0, stock_list.__len__()):
        try:
            details = stock_list.get(pos)
            ticker = details["Ticker"]
            stock = finviz.get_stock(ticker)
            if max_div < float(stock["Dividend"]):
                max_div = float(stock["Dividend"])
            # print("pos ", pos, " ticker ", ticker, " div ", stock["Dividend"], " max div ", max_div)
            val = float(stock["Price"]) / float(stock["Dividend"])
            if stock not in tickers and last_dividend < float(
                    stock["Dividend"]):
                # print("add ", ticker)
                last_dividend = float(stock["Dividend"])
                stock["Ticker"] = ticker
                tickers.append(stock)
        except:
            pass