diff --git a/HedgeAnalyzer.py b/HedgeAnalyzer.py index b7b729e..1e7f5f9 100755 --- a/HedgeAnalyzer.py +++ b/HedgeAnalyzer.py @@ -76,12 +76,20 @@ if 'shrsOrPrnAmt' in latest_df.columns: latest_df['shrsOrPrnAmt'] = latest_df['shrsOrPrnAmt'].apply(extract_shares) prev_df['shrsOrPrnAmt'] = prev_df['shrsOrPrnAmt'].apply(extract_shares) -# Verify required columns +# Verify required columns (ticker is optional but we'll add it if present) required_cols = ['cusip', 'nameOfIssuer', 'shrsOrPrnAmt', 'value'] for col in required_cols: if col not in latest_df.columns or col not in prev_df.columns: raise KeyError(f"Column {col} missing in holdings data") +# Add ticker column if present +if 'ticker' in latest_df.columns: + latest_df['ticker'] = latest_df['ticker'].fillna('N/A') + prev_df['ticker'] = prev_df['ticker'].fillna('N/A') +else: + latest_df['ticker'] = 'N/A' + prev_df['ticker'] = 'N/A' + # Format value with commas and dollar sign latest_df['value_formatted'] = latest_df['value'].apply(lambda x: f"${x:,.0f}") prev_df['value_formatted'] = prev_df['value'].apply(lambda x: f"${x:,.0f}") @@ -106,6 +114,11 @@ changes['share_change'] = changes['shrsOrPrnAmt_new'] - changes['shrsOrPrnAmt_ol changes = changes[changes['share_change'].notna()] changes = changes[abs(changes['share_change']) / changes['shrsOrPrnAmt_old'].replace(0, 1) > 0.1] changes['share_change'] = changes['share_change'].apply(lambda x: f"{x:,.0f}") +# Add ticker_new for changes +if 'ticker' in changes.columns: + changes['ticker_new'] = changes['ticker_new'].fillna('N/A') +else: + changes['ticker_new'] = 'N/A' # HTML table styling html_style = """ @@ -142,9 +155,9 @@ summary = f"""
{html_style}