Untitled
unknown
plain_text
a year ago
1.1 kB
6
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