James McCool
commited on
Commit
·
8338949
1
Parent(s):
65506a6
Update app.py to adjust array indexing in frequency calculation functions and stack multiplier logic for Draftkings and Fanduel.
Browse files
app.py
CHANGED
|
@@ -234,14 +234,14 @@ def convert_df(array):
|
|
| 234 |
|
| 235 |
@st.cache_data
|
| 236 |
def calculate_DK_value_frequencies(np_array):
|
| 237 |
-
unique, counts = np.unique(np_array[:, :
|
| 238 |
frequencies = counts / len(np_array) # Normalize by the number of rows
|
| 239 |
combined_array = np.column_stack((unique, frequencies))
|
| 240 |
return combined_array
|
| 241 |
|
| 242 |
@st.cache_data
|
| 243 |
def calculate_FD_value_frequencies(np_array):
|
| 244 |
-
unique, counts = np.unique(np_array[:, :
|
| 245 |
frequencies = counts / len(np_array) # Normalize by the number of rows
|
| 246 |
combined_array = np.column_stack((unique, frequencies))
|
| 247 |
return combined_array
|
|
@@ -263,13 +263,13 @@ def sim_contest(Sim_size, seed_frame, maps_dict, Contest_Size, teams_playing_cou
|
|
| 263 |
if site == 'Draftkings':
|
| 264 |
# Calculate stack multipliers first
|
| 265 |
stack_multiplier = np.ones(fp_random.shape[0]) # Start with no bonus
|
| 266 |
-
stack_multiplier += np.minimum(0.10, np.where(fp_random[:,
|
| 267 |
-
stack_multiplier += np.minimum(0.15, np.where(fp_random[:,
|
| 268 |
elif site == 'Fanduel':
|
| 269 |
# Calculate stack multipliers first
|
| 270 |
stack_multiplier = np.ones(fp_random.shape[0]) # Start with no bonus
|
| 271 |
-
stack_multiplier += np.minimum(0.10, np.where(fp_random[:,
|
| 272 |
-
stack_multiplier += np.minimum(0.15, np.where(fp_random[:,
|
| 273 |
|
| 274 |
# Apply multipliers to both loc and scale in the normal distribution
|
| 275 |
base_projections = np.sum(np.random.normal(
|
|
|
|
| 234 |
|
| 235 |
@st.cache_data
|
| 236 |
def calculate_DK_value_frequencies(np_array):
|
| 237 |
+
unique, counts = np.unique(np_array[:, :10], return_counts=True)
|
| 238 |
frequencies = counts / len(np_array) # Normalize by the number of rows
|
| 239 |
combined_array = np.column_stack((unique, frequencies))
|
| 240 |
return combined_array
|
| 241 |
|
| 242 |
@st.cache_data
|
| 243 |
def calculate_FD_value_frequencies(np_array):
|
| 244 |
+
unique, counts = np.unique(np_array[:, :9], return_counts=True)
|
| 245 |
frequencies = counts / len(np_array) # Normalize by the number of rows
|
| 246 |
combined_array = np.column_stack((unique, frequencies))
|
| 247 |
return combined_array
|
|
|
|
| 263 |
if site == 'Draftkings':
|
| 264 |
# Calculate stack multipliers first
|
| 265 |
stack_multiplier = np.ones(fp_random.shape[0]) # Start with no bonus
|
| 266 |
+
stack_multiplier += np.minimum(0.10, np.where(fp_random[:, 13] == 4, 0.025 * (teams_playing_count - 8), 0))
|
| 267 |
+
stack_multiplier += np.minimum(0.15, np.where(fp_random[:, 13] >= 5, 0.025 * (teams_playing_count - 12), 0))
|
| 268 |
elif site == 'Fanduel':
|
| 269 |
# Calculate stack multipliers first
|
| 270 |
stack_multiplier = np.ones(fp_random.shape[0]) # Start with no bonus
|
| 271 |
+
stack_multiplier += np.minimum(0.10, np.where(fp_random[:, 12] == 4, 0.025 * (teams_playing_count - 8), 0))
|
| 272 |
+
stack_multiplier += np.minimum(0.15, np.where(fp_random[:, 12] >= 5, 0.025 * (teams_playing_count - 12), 0))
|
| 273 |
|
| 274 |
# Apply multipliers to both loc and scale in the normal distribution
|
| 275 |
base_projections = np.sum(np.random.normal(
|