Untitled
unknown
plain_text
9 months ago
901 B
3
Indexable
# Define the metrics to analyze for outliers
metrics = ['Spread', 'Junior Bonds (%)', 'Financial Sector (%)', 'Cash (%)']
# Create a copy of the dataframe to preserve the original
df_outliers = df_account_metrics.copy()
# Initialize columns to store outlier flags
for metric in metrics:
df_outliers[f'{metric} Outlier'] = False
# Identify outliers for each strategy
for strategy in df_outliers['Strategy'].unique():
df_strategy = df_outliers[df_outliers['Strategy'] == strategy]
for metric in metrics:
mean = df_strategy[metric].mean()
std_dev = df_strategy[metric].std()
# Flag outliers (more than 1 standard deviation away)
df_outliers.loc[
(df_outliers['Strategy'] == strategy) &
((df_outliers[metric] > mean + std_dev) | (df_outliers[metric] < mean - std_dev)),
f'{metric} Outlier'
] = True
Editor is loading...
Leave a Comment