Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion meta/meta.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"subnet_version": "8.8.9"
"subnet_version": "8.8.10"
}
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ def risk_adjusted_performance_penalty(
score = metric_function(
log_returns=log_returns,
ledger=ledger,
# weighting=True, # discuss scoring weighting
weighting=True, # discuss scoring weighting
days_in_year=days_in_year
)
score = min(score, max_metric_value)
Expand Down
25 changes: 6 additions & 19 deletions vali_objects/vali_dataclasses/ledger/penalty/penalty_ledger.py
Original file line number Diff line number Diff line change
Expand Up @@ -898,27 +898,14 @@ def build_penalty_ledgers(self, verbose: bool = False, delta_update: bool = True

elif penalty_config.input_type == PenaltyInputType.ASSET_LEDGER:
segmentation_machine = AssetSegmentation({miner_hotkey: ledger_dict})
accumulated_penalty = 1

asset_class = self._asset_selection_client.get_asset_selections().get(miner_hotkey)
asset_class = self._asset_selection_client.get_asset_selection(miner_hotkey)
if not asset_class:
accumulated_penalty = 0
penalty_value = 0
else:
subcategories = ValiConfig.ASSET_CLASS_BREAKDOWN[asset_class].get("subcategory_weights", {}).keys()

subcategory_penalties = []
for subcategory in subcategories:
asset_ledger = segmentation_machine.segmentation(subcategory).get(miner_hotkey)
if not asset_ledger or not asset_ledger.cps:
continue
subcategory_penalty = penalty_config.function(asset_ledger, asset_class)
subcategory_penalties.append(subcategory_penalty)

if subcategory_penalties:
category_penalty = sum(subcategory_penalties) / len(subcategory_penalties)
accumulated_penalty *= category_penalty

penalty_value = accumulated_penalty
asset_ledger = segmentation_machine.segmentation(asset_class).get(miner_hotkey)
if not asset_ledger or not asset_ledger.cps:
continue
penalty_value = penalty_config.function(asset_ledger, asset_class)

except Exception as e:
if verbose:
Expand Down
Loading