Overall Statistics
Total Orders
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Start Equity
100000
End Equity
100000
Net Profit
0%
Sharpe Ratio
0
Sortino Ratio
0
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
-2.253
Tracking Error
0.094
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
Portfolio Turnover
0%
Drawdown Recovery
0
from AlgorithmImports import *


class BrainFilingsUniverseRepro(QCAlgorithm):
    def initialize(self):
        self.set_start_date(2024, 1, 1)
        self.set_end_date(2024, 6, 1)
        self.set_cash(100000)
        self.universe_settings.resolution = Resolution.DAILY
        self._selected_count = 0
        self._fired_days = 0
        self._first_fire_date = None
        self._sample = None
        self.add_universe(BrainCompanyFilingLanguageMetricsUniverseAll, self.universe_selection)

    def universe_selection(self, alt_coarse):
        n = len(alt_coarse)
        if n > 0:
            self._fired_days += 1
            self._selected_count += n
            if self._first_fire_date is None:
                self._first_fire_date = str(self.time)
                self._sample = ",".join(d.symbol.value for d in list(alt_coarse)[:5])
        return []

    def on_end_of_algorithm(self):
        self.set_runtime_statistic("FiredDays", str(self._fired_days))
        self.set_runtime_statistic("SelectedCount", str(self._selected_count))
        self.set_runtime_statistic("FirstFireDate", str(self._first_fire_date))
        self.set_runtime_statistic("Sample", str(self._sample))