Untitled

 avatar
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