Add stratification functionality and enhance portfolio handling in app.py
2e3cd9d
James McCoolcommited on
Refactor predict_dupes.py to implement vectorized calculations for ownership and similarity scores, improving performance. Introduce new functions for weighted ownership and player similarity, while maintaining backward compatibility. Update data type handling for portfolio results to optimize memory usage.
46a28f1
James McCoolcommited on
Increase the number of top combos analyzed from 50 to 100 in the analyze_player_combos function, enhancing the depth of player combination statistics available for analysis.
d42af28
James McCoolcommited on
Rename analyze_player_combinations function to analyze_player_combos for consistency and clarity in the player combination analysis module.
e512b33
James McCoolcommited on
Add player combination analysis feature in app.py and implement analyze_player_combos function. This update introduces a new tab for analyzing player combinations, allowing users to select combo sizes and view statistics on the most common player pairings or triplets, enhancing the analytical capabilities of the application.
68208b0
James McCoolcommited on
Remove NASCAR table display from app.py to streamline portfolio presentation and improve user experience. Update name mapping logic in load_dk_fd_file.py to enhance ID handling and ensure cleaner data output.
b6cd6af
James McCoolcommited on
Enhance data handling in load_ss_file.py by replacing zeros with NaN and dropping rows with any NaN values. This improves data integrity for CSV and Excel file imports.
fb3a403
James McCoolcommited on
Refactor import statements across multiple files to replace 'fuzzywuzzy' with 'rapidfuzz' for improved performance and consistency in string matching functionality. Additionally, clean up unused imports in app.py and related global functions to enhance code clarity and maintainability.
d9db89f
James McCoolcommited on
Update hedging_preset function to double lineup_target when list_size is 5, enhancing lineup generation accuracy by adjusting target values based on portfolio size.
4955178
James McCoolcommited on
Enhance volatility_preset function to include sport-specific logic for MLB, allowing dynamic adjustments in player selection based on team diversity. This update improves lineup generation accuracy by refining the handling of team constraints and optimizing the portfolio based on lineup edge.
e8898ed
James McCoolcommited on
Implement sport-specific logic in small_field_preset for MLB, enhancing lineup management by dynamically adjusting player selection based on 'Weighted Own' values. This update improves the function's ability to handle team-specific constraints and ensures more accurate lineup generation.
9e303cb
James McCoolcommited on
Update hedging_preset function to include 'sport' parameter in small_field_preset and large_field_preset calls for enhanced lineup management flexibility. This change aligns with recent updates to improve sport-specific logic in lineup strategies.
201ffbb
James McCoolcommited on
Enhance preset functions in app.py and related modules to include 'sport' parameter for improved flexibility in lineup management. This update modifies the small_field_preset, large_field_preset, volatility_preset, hedging_preset, and reduce_volatility_preset functions to accommodate sport-specific logic, enhancing user experience and accuracy in lineup strategies.
206da8c
James McCoolcommited on
Rename function 'volatility_preset' to 'reduce_volatility_preset' for consistency with updated functionality. This change clarifies the purpose of the function in managing portfolio volatility.
053d82e
James McCoolcommited on
Add 'Reduce Volatility' preset option in app.py and implement reduce_volatility_preset function. This update enhances user options for lineup management by allowing users to manage volatility in their selections, improving overall portfolio strategy.
1c0e798
James McCoolcommited on
Similarity Score > Diversity
efb1867
James McCoolcommited on
Adjust 'Finish_percentile' calculation in predict_dupes.py to halve the result for improved accuracy. This change refines the formula, ensuring more precise percentile outcomes by modifying the final output of the calculation.
7905ae8
James McCoolcommited on
Refine 'Finish_percentile' calculation in predict_dupes.py by adjusting the denominator to improve accuracy. This change enhances the formula by using a fixed multiplier for median values, ensuring more precise percentile results.
4d63f87
James McCoolcommited on
Update calculation for 'Finish_percentile' in predict_dupes.py to use Contest_Size for improved accuracy. This change enhances the formula by incorporating Contest_Size into the denominator, ensuring more precise percentile calculations.
a7868ee
James McCoolcommited on
Refactor lineup generation logic in hedging_preset.py to improve processing efficiency. Introduced an initialization counter for lineup adjustments and added checks for empty DataFrames before generating lineups. Enhanced debug messages for better visibility into the lineup concatenation process.
55b8b36
James McCoolcommited on
Update lineup generation logic in hedging_preset.py to adjust lineup target calculations. Changed divisor from 3 to 4 in small_field_preset and large_field_preset functions to improve accuracy in lineup adjustments.
8393233
James McCoolcommited on
Update volatility_preset function to use 'Similarity Score' for row filtering instead of 'median'. This change improves the accuracy of lineup adjustments by ensuring the correct comparison for ownership type maximums.
2a7d830
James McCoolcommited on
Fix condition in volatility_preset function to correctly identify rows to drop based on median values. This change ensures accurate lineup adjustments by comparing current ownership type maximums with median values.
161be26
James McCoolcommited on
Add volatility preset option in app.py and implement volatility_preset function. Updated lineup generation logic to include new preset for enhanced lineup edge management.
cc0edce
James McCoolcommited on
Update preset options in app.py to improve lineup generation accuracy. Changed 'Large Field (Finish Percentile / Edge)' to 'Large Field (Manage Similarity)' and adjusted corresponding logic in the form submission process.
8c81703
James McCoolcommited on
Enhance lineup processing in hedging_preset.py by adding checks for empty DataFrames before generating lineups. This update prevents errors when no lineups are available and improves the clarity of debug messages related to lineup generation.
dca21a5
James McCoolcommited on
Refactor lineup selection logic in large_field_preset.py to improve accuracy and efficiency. Replaced the previous iterative approach with a method that calculates evenly spaced target similarity scores, ensuring a more precise selection of lineups based on similarity while avoiding duplicates.
2f8b929
James McCoolcommited on
Enhance lineup generation in hedging_preset.py by adding debug print statements for removed and team lineups. This update improves visibility into the lineup processing and ensures all relevant lineups are concatenated for final output.
8d3abd2
James McCoolcommited on
Add debug print statements in hedging_preset.py to output the count of removed and locked lineups during processing. This change enhances visibility into lineup generation and aids in debugging the lineup filtering logic.
fac0157
James McCoolcommited on
Add team lineup filtering in hedging_preset.py to enhance lineup generation. Introduced logic to separate teams and calculate removed lineups, improving the accuracy of team-based strategies.
ef7a8b2
James McCoolcommited on
Update sorting and ownership calculations in large_field_preset.py to use 'median' instead of 'Finish_percentile' and 'Own'. This change improves accuracy in lineup generation by aligning calculations with the updated data structure.
c1137d7
James McCoolcommited on
Remove unused import statement from hedging_preset.py to clean up the code and improve maintainability. This change enhances clarity by eliminating unnecessary dependencies.
bb549d3
James McCoolcommited on
Add team ownership calculation in hedging_preset.py to enhance lineup generation. Introduced a new function to sum hitter ownership by team and adjusted lineup target calculations for improved accuracy. This change allows for better team-based lineup strategies.
02245bb
James McCoolcommited on
Adjust lineup target calculations in hedging_preset.py to divide by double the list size, improving accuracy in lineup generation. This change enhances the filtering process for both removed and locked lineups.
fbbb0e8
James McCoolcommited on
Refactor player iteration logic in hedging_preset.py to improve clarity and accuracy in lineup filtering. Changed variable names for consistency and adjusted mask conditions to enhance player selection criteria.
6fbfae9
James McCoolcommited on
Add debug print statements in hedging_preset.py to output player and lineup data during processing. Adjusted lineup target calculations to use list size directly, enhancing clarity in the lineup generation logic.
4ed60b8
James McCoolcommited on
Remove sorting by 'median' in hedging_preset.py to simplify the return of the top lineups based on the specified target. This change streamlines the output and focuses on the desired number of lineups without additional sorting criteria.
433242b
James McCoolcommited on
Refactor hedging_preset.py to use a configurable list size for top owned players. This change enhances flexibility in player selection and adjusts lineup target calculations accordingly.
2bbbfdd
James McCoolcommited on
Update sorting criteria in hedging_preset.py to use 'ownership' instead of 'Own'. This change improves the accuracy of player selection by aligning with the updated data structure.
33beedc
James McCoolcommited on
Update import statements in hedging_preset.py to reflect new module structure. This change ensures proper access to small_field_preset and large_field_preset functions, enhancing code organization and maintainability.
10c821a
James McCoolcommited on
Replace distribute_preset with hedging_preset to manage player exposure in lineup generation. Update app.py to reflect the new preset option and remove the obsolete distribute_preset function. This change enhances the flexibility of lineup strategies by allowing users to hedge against high-exposure players while maintaining performance metrics.
119b2bf
James McCoolcommited on
Refactor player filtering and portfolio distribution logic in distribute_preset.py to streamline the process of removing high-exposure players. This update enhances the accuracy of lineup generation by ensuring that the final portfolio meets the lineup target while maintaining performance metrics, and improves the handling of player selection based on similarity scores.
eb3c53f
James McCoolcommited on
Limit player removal iterations in distribute_preset.py to a maximum of 10 to prevent infinite loops during portfolio distribution. This change enhances the stability of the player filtering process while maintaining the accuracy of lineup generation.
3a9fcee
James McCoolcommited on
Refactor player removal and portfolio filtering logic in distribute_preset.py to improve accuracy in lineup generation. This update introduces a mechanism to continuously remove high-exposure players and ensures that the final portfolio meets the lineup target while maintaining performance metrics.
587326c
James McCoolcommited on
Update portfolio concatenation logic in distribute_preset.py to limit the number of players added based on lineup target. This change improves the accuracy of the distribution process by ensuring that only a calculated subset of players is included in the final portfolio.
beef2ec
James McCoolcommited on
Update sorting order in distribute_preset.py to prioritize players with the highest median values. This change enhances the accuracy of the portfolio distribution process by ensuring that the top players are selected based on their performance metrics.
dbc0343
James McCoolcommited on
Fix indentation issue in player removal logic in distribute_preset.py to ensure proper application of the filtering function. This change improves the accuracy of player exclusion during portfolio distribution.
bce15f0
James McCoolcommited on
Fix player removal logic in distribute_preset.py to correctly filter out players not in the player_out list. This change enhances the accuracy of the portfolio distribution process by ensuring only relevant players are retained.
3df4bec
James McCoolcommited on
Add debug print statement in distribute_preset.py to display the top 10 rows of the working portfolio. This change aids in verifying the filtering process and ensures the accuracy of player selection during distribution.
717655e
James McCoolcommited on
Sort working portfolio by 'median' before resetting index in distribute_preset.py to enhance player selection accuracy. This change ensures that the highest median values are prioritized in the distribution process.