Untitled
unknown
plain_text
5 months ago
1.1 kB
3
Indexable
import yfinance as yf import pandas as pd # Define a list of Philippine stock tickers (example tickers) tickers = ['AC.PS', 'ALI.PS', 'BDO.PS', 'SM.PS', 'JFC.PS'] # Define the screening criteria (example: P/E ratio < 15) screening_criteria = { 'pe_ratio': 15, } # Function to fetch stock data def get_stock_data(tickers): data = [] for ticker in tickers: stock = yf.Ticker(ticker) info = stock.info data.append({ 'Ticker': ticker, 'Name': info.get('shortName', 'N/A'), 'P/E Ratio': info.get('trailingPE', None), 'Market Cap': info.get('marketCap', None), 'Dividend Yield': info.get('dividendYield', None), 'Price': info.get('currentPrice', None), }) return pd.DataFrame(data) # Function to filter stocks based on criteria def filter_stocks(df, criteria): return df[df['P/E Ratio'] < criteria['pe_ratio']] # Get stock data and filter based on P/E ratio df = get_stock_data(tickers) filtered_stocks = filter_stocks(df, screening_criteria) print(filtered_stocks)
Editor is loading...
Leave a Comment