-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does Anyone know is there a way? #426
Comments
I did a quick look in the team stack function so this may be possible but
may need further discussion
To achieve your goal of stacking primarily from batting positions 1-6 while
still allowing the 7,8,9 hitters to be in the selection process, you can
use the "for_batting_order" parameter in the TeamStack constructor. This
parameter allows you to specify the range of batting positions you want to
include in the stack.
Here is an example of how you can modify your code to achieve this:
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_batting_order=(1,
6)))
This code will create a stack for the Atlanta Braves that includes players
from batting positions 1 through 6. The 7, 8, and 9 hitters will still be
considered for selection, but the core of the stack will come from the top
6 positions.
By using the "for_batting_order" parameter, you can customize the selection
process to prioritize players from specific batting positions while still
allowing for flexibility in the overall lineup construction.
…On Tue, Apr 9, 2024, 11:55 PM G Dub D ***@***.***> wrote:
@DimaKudosh <https://github.com/DimaKudosh> is there a way to form stacks
this way?
I have my roster order columns and batting orders before I run the opt but
I was trying to eliminate the 7,8,9 hitters from my stack consideration but
not for overall lineup consideration. If
"optimizer.set_spacing_for_positions(['1B', '2B', '3B'], 3)" is used it
could use a 9,1,2 wrap or 8,9,1 wrap to which i am trying to avoid. The
"spacing=" argument could also give a wrap around. For MLB the 7,8,9 roster
positions are pretty much useless but you will still need to be able to let
them be in the selection process but wantig the core of stacks to come from
the 1-6 positions. In 2023 82.7% of the top fantasy points scored came from
batting positions 1-6 So far in 2024 that number is 79%. This is the
importance of wanting to try to find a way.
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_roster_order=['1',
'2', '3', '4', '5','6']))
or
optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_roster_order=['1-6']))
Thx beforehand
—
Reply to this email directly, view it on GitHub
<#426>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7VS6RJ5XAZXEQBC6CDY4SZ2BAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIZTINZQGU4TMOA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Thanks bunches. You are awesome for creating this btw. |
TypeError Traceback (most recent call last) TypeError: TeamStack.init() got an unexpected keyword argument 'for_batting_order' Now I am lost |
It didn't work so disregard that I'll look more into it
…On Wed, Apr 10, 2024, 1:27 AM G Dub D ***@***.***> wrote:
------------------------------
TypeError Traceback (most recent call last)
Cell In[58], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_batting_order=(1,6)))
TypeError: TeamStack.*init*() got an unexpected keyword argument
'for_batting_order'
Now I am lost
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7QAK3AKYSHVB5Z6HZ3Y4TEV5AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGU3DIMRUHE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Try this
Here's an example of how you can set the spacing parameter for positions 7,
8, and 9:
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_positions=['7',
'8', '9'], spacing=9999))
By setting a high spacing value for positions 7, 8, and 9, you are
essentially reducing the chances of these players being included in the
stack while still allowing them to be part of the overall lineup
consideration. This can be a workaround to achieve your goal without
directly modifying the class or filtering players before adding them to the
optimizer.
…On Wed, Apr 10, 2024, 2:01 AM joseph offen ***@***.***> wrote:
It didn't work so disregard that I'll look more into it
On Wed, Apr 10, 2024, 1:27 AM G Dub D ***@***.***> wrote:
> ------------------------------
>
> TypeError Traceback (most recent call last)
> Cell In[58], line 1
> ----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
> for_batting_order=(1,6)))
>
> TypeError: TeamStack.*init*() got an unexpected keyword argument
> 'for_batting_order'
>
> Now I am lost
>
> —
> Reply to this email directly, view it on GitHub
> <#426 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ANBWO7QAK3AKYSHVB5Z6HZ3Y4TEV5AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGU3DIMRUHE>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
|
Got this Error File ~\anaconda3\Lib\site-packages\pydfs_lineup_optimizer\lineup_optimizer.py:342, in LineupOptimizer.add_stack(self, stack) File ~\anaconda3\Lib\site-packages\pydfs_lineup_optimizer\stacks.py:210, in TeamStack.validate(self, optimizer) LineupOptimizerIncorrectPositionName: 7 is incorrect position name. |
Tried it as roster_order and got TypeError Traceback (most recent call last) TypeError: TeamStack.init() got an unexpected keyword argument 'for_roster_order' |
Instead of positions change it to for_roster_order
See what that will do
…On Wed, Apr 10, 2024, 2:11 AM G Dub D ***@***.***> wrote:
Got this Error
LineupOptimizerIncorrectPositionName Traceback (most recent call last)
Cell In[201], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_positions=['7', '8', '9'], spacing=9999))
File
~\anaconda3\Lib\site-packages\pydfs_lineup_optimizer\lineup_optimizer.py:342,
in LineupOptimizer.add_stack(self, stack)
341 def add_stack(self, stack: BaseStack) -> None:
--> 342 stack.validate(self)
343 self.stacks.append(stack)
File ~\anaconda3\Lib\site-packages\pydfs_lineup_optimizer\stacks.py:210,
in TeamStack.validate(self, optimizer)
208 for position in self.for_positions or []:
209 if position not in optimizer.player_pool.available_positions:
--> 210 raise LineupOptimizerIncorrectPositionName('%s is incorrect
position name.' % position)
LineupOptimizerIncorrectPositionName: 7 is incorrect position name.
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7W2RB5B2JYMMTRDA2TY4TJYJAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYYDKMBXHE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
TypeError Traceback (most recent call last) TypeError: TeamStack.init() got an unexpected keyword argument 'for_roster_order' |
Still looking into it
…On Wed, Apr 10, 2024, 2:16 AM G Dub D ***@***.***> wrote:
TypeError Traceback (most recent call last)
Cell In[234], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_roster_order=['7', '8', '9'], spacing=9999))
TypeError: TeamStack.*init*() got an unexpected keyword argument
'for_roster_order'
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7U3V2ZO67DPPTPKD6LY4TKMBAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYYTAMRUHA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Try this
# Sort players based on roster order
players.sort(key=lambda x: x.roster_order)
# Select players for positions 1-6
selected_players = [player for player in players if player.roster_order in
['1', '2', '3', '4', '5', '6']]
# Add selected players for stacking
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_positions=None,
spacing=None).build_stacks(selected_players, optimizer))
…On Wed, Apr 10, 2024, 2:17 AM joseph offen ***@***.***> wrote:
Still looking into it
On Wed, Apr 10, 2024, 2:16 AM G Dub D ***@***.***> wrote:
> TypeError Traceback (most recent call last)
> Cell In[234], line 1
> ----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
> for_roster_order=['7', '8', '9'], spacing=9999))
>
> TypeError: TeamStack.*init*() got an unexpected keyword argument
> 'for_roster_order'
>
> —
> Reply to this email directly, view it on GitHub
> <#426 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ANBWO7U3V2ZO67DPPTPKD6LY4TKMBAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYYTAMRUHA>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
|
NameError Traceback (most recent call last) NameError: name 'players' is not defined |
I'll look into it more this weekend for you
…On Wed, Apr 10, 2024, 2:26 AM G Dub D ***@***.***> wrote:
NameError Traceback (most recent call last)
Cell In[259], line 1
----> 1 players.sort(key=lambda x: x.roster_order)
NameError: name 'players' is not defined
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7VWUJL3BRDFZNPWIB3Y4TLSLAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYZDCNBSGQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
I am trying multiple things over here between msgs but I am not being much help but I appreciate evrything you are doing to assist. If I somehow get it I will let you know also. Thx again |
Can you send your config to ***@***.***
…On Wed, Apr 10, 2024, 2:27 AM joseph offen ***@***.***> wrote:
I'll look into it more this weekend for you
On Wed, Apr 10, 2024, 2:26 AM G Dub D ***@***.***> wrote:
> NameError Traceback (most recent call last)
> Cell In[259], line 1
> ----> 1 players.sort(key=lambda x: x.roster_order)
>
> NameError: name 'players' is not defined
>
> —
> Reply to this email directly, view it on GitHub
> <#426 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ANBWO7VWUJL3BRDFZNPWIB3Y4TLSLAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYZDCNBSGQ>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
|
You want me to send the Excel file along with the Notebook? |
pip install pydfs-lineup-optimizer from pydfs_lineup_optimizer import get_optimizer, Site, Sport optimizer = get_optimizer(Site.DRAFTKINGS, Sport. BASEBALL) optimizer.load_players_from_csv(r"C:\Users\Greg\Downloads\MLB DFS.csv") optimizer.restrict_positions_for_opposing_team(['SP', 'RP'], ['1B', '1B/2B', '1B/3B', '1B/OF','1B/C','1B/SS', '2B', '2B/C', '2B/3B', '2B/OF', '2B/SS', '3B', '3B/OF', '3B/SS', 'C', 'C/1B', 'C/2B', 'C/OF', 'OF', 'SS','OF/SS', 'SS/OF']) optimizer.add_stack(TeamStack(4, for_teams=['ATL'], for_positions=['1B', '2B', '3B', 'OF', 'SS'])) #smallest slate <5 games use 5 man stacks optimizer.add_stack(TeamStack(3, for_teams=['LAA'], for_positions=['1B', '2B', '3B', 'OF', 'SS'])) optimizer.add_stack(TeamStack(2, for_teams=['ATL'], for_positions=['1B', '2B', '3B', 'OF', 'SS'])) SP1 = optimizer.player_pool.get_player_by_name("Nathan Eovaldi") SP2 = optimizer.player_pool.get_player_by_name("Carlos Rodon") lineups = optimizer.optimize(n=20) lineups lineups = list(optimizer.optimize(20)) lineups optimizer.export(r'C:\Users\Greg\Downloads\MLB Starters.csv') optimizer.print_statistic() |
Just the code
…On Wed, Apr 10, 2024, 2:35 AM G Dub D ***@***.***> wrote:
You want me to send the Excel file along with the Notebook?
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7UWP4GFRE7Y2XKMYZ3Y4TMSXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYZTCMBYGE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
The only additonal column I have in my csv is the Roster Order In that code I did not have any of the code for the Roster Order because it was not doing what I was wanting. |
No problem I'll trouble shoot
…On Wed, Apr 10, 2024, 2:49 AM G Dub D ***@***.***> wrote:
The only additonal column I have in my csv is the Roster Order In that
code I did not have any of the code for the Roster Order because it was not
doing what I was wanting.
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7WVZVL5TACC5OVW65DY4TOIHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGY2TAMZYGY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Can you see if this runs since I'm not home ,
from pydfs_lineup_optimizer import get_optimizer, Site, Sport
from pydfs_lineup_optimizer import TeamStack, PlayersGroup
from pydfs_lineup_optimizer.stacks import GameStack, PositionsStack,
NestedPlayersGroup, OptimizerStack, Stack
from typing import List, Optional, Dict
class CustomTeamStack(TeamStack):
def build_stacks(self, players: List[Player], optimizer:
'LineupOptimizer') -> List[OptimizerStack]:
players = [player for player in players if player.roster_order not
in [7, 8, 9] if player.roster_order is not None]
return super().build_stacks(players, optimizer)
optimizer = get_optimizer(Site.DRAFTKINGS, Sport.BASEBALL)
# Load players and set restrictions as before
optimizer.add_stack(CustomTeamStack(4, for_teams=['ATL'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(CustomTeamStack(3, for_teams=['LAA'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(CustomTeamStack(2, for_teams=['ATL'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
# Set player exposures for SP1 and SP2 as before
lineups = optimizer.optimize(n=20)
…On Wed, Apr 10, 2024, 2:50 AM joseph offen ***@***.***> wrote:
No problem I'll trouble shoot
On Wed, Apr 10, 2024, 2:49 AM G Dub D ***@***.***> wrote:
> The only additonal column I have in my csv is the Roster Order In that
> code I did not have any of the code for the Roster Order because it was not
> doing what I was wanting.
>
> —
> Reply to this email directly, view it on GitHub
> <#426 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ANBWO7WVZVL5TACC5OVW65DY4TOIHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGY2TAMZYGY>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
|
optimizer = get_optimizer(Site.DRAFTKINGS, Sport. BASEBALL)
optimizer.load_players_from_csv(r"C:\Users\Greg\Downloads\MLB DFS.csv")
I didn't add this like before
…On Wed, Apr 10, 2024, 3:01 AM joseph offen ***@***.***> wrote:
Can you see if this runs since I'm not home ,
from pydfs_lineup_optimizer import get_optimizer, Site, Sport
from pydfs_lineup_optimizer import TeamStack, PlayersGroup
from pydfs_lineup_optimizer.stacks import GameStack, PositionsStack,
NestedPlayersGroup, OptimizerStack, Stack
from typing import List, Optional, Dict
class CustomTeamStack(TeamStack):
def build_stacks(self, players: List[Player], optimizer:
'LineupOptimizer') -> List[OptimizerStack]:
players = [player for player in players if player.roster_order not
in [7, 8, 9] if player.roster_order is not None]
return super().build_stacks(players, optimizer)
optimizer = get_optimizer(Site.DRAFTKINGS, Sport.BASEBALL)
# Load players and set restrictions as before
optimizer.add_stack(CustomTeamStack(4, for_teams=['ATL'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(CustomTeamStack(3, for_teams=['LAA'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(CustomTeamStack(2, for_teams=['ATL'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
# Set player exposures for SP1 and SP2 as before
lineups = optimizer.optimize(n=20)
On Wed, Apr 10, 2024, 2:50 AM joseph offen ***@***.***> wrote:
> No problem I'll trouble shoot
>
> On Wed, Apr 10, 2024, 2:49 AM G Dub D ***@***.***> wrote:
>
>> The only additonal column I have in my csv is the Roster Order In that
>> code I did not have any of the code for the Roster Order because it was not
>> doing what I was wanting.
>>
>> —
>> Reply to this email directly, view it on GitHub
>> <#426 (comment)>,
>> or unsubscribe
>> <https://github.com/notifications/unsubscribe-auth/ANBWO7WVZVL5TACC5OVW65DY4TOIHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGY2TAMZYGY>
>> .
>> You are receiving this because you commented.Message ID:
>> ***@***.***>
>>
>
|
Got this but i may have something incorrect on my end I kinda rushed NameError Traceback (most recent call last) Cell In[4], line 2, in CustomTeamStack() NameError: name 'Player' is not defined |
Had a misalignment but still got same Error NameError Traceback (most recent call last) Cell In[30], line 2, in CustomTeamStack() NameError: name 'Player' is not defined |
from pydfs_lineup_optimizer import Player
Add that to the top to see
…On Wed, Apr 10, 2024, 3:16 AM G Dub D ***@***.***> wrote:
Had a misalignment but still got same Error
NameError Traceback (most recent call last)
Cell In[30], line 1
----> 1 class CustomTeamStack(TeamStack):
2 def build_stacks(self, players: List[Player],
optimizer:'LineupOptimizer') -> List[OptimizerStack]:
3 players = [player for player in players if player.roster_order not in
[7, 8, 9] if player.roster_order is not None]
Cell In[30], line 2, in CustomTeamStack()
1 class CustomTeamStack(TeamStack):
----> 2 def build_stacks(self, players: List[Player],
optimizer:'LineupOptimizer') -> List[OptimizerStack]:
3 players = [player for player in players if player.roster_order not in
[7, 8, 9] if player.roster_order is not None]
4 return super().build_stacks(players, optimizer)
NameError: name 'Player' is not defined
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7RN65LO34BABYQYS7DY4TROBAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGY4TGNJZG4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
That ran perfect with one exception it no longer is showing the lineup order beside the player like it was *New
*Old
|
I'm not sure why that changed
…On Wed, Apr 10, 2024, 3:27 AM G Dub D ***@***.***> wrote:
That ran perfect with one exception it no longer is showing the lineup
order beside the player like it was
*New
1. P Zack Wheeler SP PHI ***@***.*** 21.89 9600.0$
2. P Merrill Kelly SP ARI ***@***.*** 19.19 8400.0$
3. C J.T. Realmuto C PHI ***@***.*** 9.19 4700.0$
4. 1B Nolan Schanuel 1B LAA ***@***.*** 6.71 3600.0$
5. 2B Ozzie Albies 2B ATL ***@***.*** 8.63 5500.0$
6. 3B Anthony Rendon 3B LAA ***@***.*** 5.83 3400.0$
7. SS Orlando Arcia SS ATL ***@***.*** 6.31 3600.0$
8. OF Jarred Kelenic OF ATL ***@***.*** 6.93 3600.0$
9. OF Michael Harris II OF ATL ***@***.*** 8.54 4400.0$
10. OF Mickey Moniak OF LAA ***@***.*** 7.23 3200.0$
*Old
1. P Zack Wheeler SP PHI ***@***.*** 21.89 9600.0$
2. P Merrill Kelly SP ARI ***@***.*** 19.19 8400.0$
3. C Gabriel Moreno(2) C ARI ***@***.*** 8.0 4100.0$
4. 1B Jake Cronenworth(3) 1B SD ***@***.*** 8.75 4100.0$
5. 2B Xander Bogaerts(1) 2B SD ***@***.*** 8.97 4900.0$
6. 3B Tyler Wade(9) 3B SD ***@***.*** 6.84 2600.0$
7. SS Jace Peterson(6) SS ARI ***@***.*** 8.51 3100.0$
8. OF Corbin Carroll(1) OF ARI ***@***.*** 11.96 5700.0$
9. OF Joc Pederson(3) OF ARI ***@***.*** 10.55 4200.0$
10. OF Jackson Merrill(8) OF SD ***@***.*** 7.57 3200.0$
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7T6MQ37RKAUTAVG4V3Y4TSW3AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWG4YTMOJYGY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Is the code working like you wanted?
…On Wed, Apr 10, 2024, 3:58 AM joseph offen ***@***.***> wrote:
I'm not sure why that changed
On Wed, Apr 10, 2024, 3:27 AM G Dub D ***@***.***> wrote:
> That ran perfect with one exception it no longer is showing the lineup
> order beside the player like it was
>
> *New
>
> 1. P Zack Wheeler SP PHI ***@***.*** 21.89 9600.0$
> 2. P Merrill Kelly SP ARI ***@***.*** 19.19 8400.0$
> 3. C J.T. Realmuto C PHI ***@***.*** 9.19 4700.0$
> 4. 1B Nolan Schanuel 1B LAA ***@***.*** 6.71 3600.0$
> 5. 2B Ozzie Albies 2B ATL ***@***.*** 8.63 5500.0$
> 6. 3B Anthony Rendon 3B LAA ***@***.*** 5.83 3400.0$
> 7. SS Orlando Arcia SS ATL ***@***.*** 6.31 3600.0$
> 8. OF Jarred Kelenic OF ATL ***@***.*** 6.93 3600.0$
> 9. OF Michael Harris II OF ATL ***@***.*** 8.54 4400.0$
> 10. OF Mickey Moniak OF LAA ***@***.*** 7.23 3200.0$
>
> *Old
>
> 1. P Zack Wheeler SP PHI ***@***.*** 21.89 9600.0$
> 2. P Merrill Kelly SP ARI ***@***.*** 19.19 8400.0$
> 3. C Gabriel Moreno(2) C ARI ***@***.*** 8.0 4100.0$
> 4. 1B Jake Cronenworth(3) 1B SD ***@***.*** 8.75 4100.0$
> 5. 2B Xander Bogaerts(1) 2B SD ***@***.*** 8.97 4900.0$
> 6. 3B Tyler Wade(9) 3B SD ***@***.*** 6.84 2600.0$
> 7. SS Jace Peterson(6) SS ARI ***@***.*** 8.51 3100.0$
> 8. OF Corbin Carroll(1) OF ARI ***@***.*** 11.96 5700.0$
> 9. OF Joc Pederson(3) OF ARI ***@***.*** 10.55 4200.0$
> 10. OF Jackson Merrill(8) OF SD ***@***.*** 7.57 3200.0$
>
> —
> Reply to this email directly, view it on GitHub
> <#426 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ANBWO7T6MQ37RKAUTAVG4V3Y4TSW3AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWG4YTMOJYGY>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
|
Still getting multiple 7,8, 9 batters with it |
Darn
…On Wed, Apr 10, 2024, 4:00 AM G Dub D ***@***.***> wrote:
Still getting multiple 7,8, 9 batters with it
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7XAOXDKIOJ5IN27XLTY4TWSHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAYTKMRSHE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
class CustomTeamStack(TeamStack):
def build_stacks(self, players, optimizer) -> List[OptimizerStack]:
filtered_players = [player for player in players if
player.roster_order not in [7, 8, 9] or player.roster_order is None]
return super().build_stacks(filtered_players, optimizer)
Replace the old code to this
I added or instead of if
…On Wed, Apr 10, 2024, 4:01 AM joseph offen ***@***.***> wrote:
Darn
On Wed, Apr 10, 2024, 4:00 AM G Dub D ***@***.***> wrote:
> Still getting multiple 7,8, 9 batters with it
>
> —
> Reply to this email directly, view it on GitHub
> <#426 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ANBWO7XAOXDKIOJ5IN27XLTY4TWSHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAYTKMRSHE>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
|
Here is the breakdown for this MLB season so far as to how they score *By Batting Order *Positions |
If we can't figure something out we will try Friday or sat
…On Wed, Apr 10, 2024, 4:08 AM G Dub D ***@***.***> wrote:
Here is the breakdown for this MLB season so far as to how they score
I only count them if they were in the top 20 scorers on the slates
I added by positions how they breakdown below also
You can see after 5th it drops nearly in half and by positions the OF is
by far the leading position
*By Batting Order
1 | 15.9%
2 | 14.6%
3 | 15.9%
4 | 12.4%
5 | 12.0%
6 | 8.2%
7 | 7.7%
8 | 7.7%
9 | 5.6%
*Positions
OF | 43.8%
1B | 10.0%
1B/OF | 3.8%
2B/OF | 0.4%
3B | 8.3%
1B/2B | 0.4%
C | 7.1%
2B | 10.0%
SS | 11.7%
2B/3B | 0.4%
2B/SS | 1.7%
3B/SS | 0.8%
3B/OF | 0.4%
1B/3B | 0.8%
1B/C | 0.4%
OF/SS | 0.0%
1B/SS | 0.0%
2B/C | 0.0%
C/OF | 0.0%
3B/C | 0.0%
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7TOWHMOMM2B6D7YIQLY4TXQXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAZTSMRQG4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Can you send the players-list to my email address?
…On Wed, Apr 10, 2024, 4:10 AM joseph offen ***@***.***> wrote:
If we can't figure something out we will try Friday or sat
On Wed, Apr 10, 2024, 4:08 AM G Dub D ***@***.***> wrote:
> Here is the breakdown for this MLB season so far as to how they score
> I only count them if they were in the top 20 scorers on the slates
> I added by positions how they breakdown below also
> You can see after 5th it drops nearly in half and by positions the OF is
> by far the leading position
>
> *By Batting Order
> 1 | 15.9%
> 2 | 14.6%
> 3 | 15.9%
> 4 | 12.4%
> 5 | 12.0%
> 6 | 8.2%
> 7 | 7.7%
> 8 | 7.7%
> 9 | 5.6%
>
> *Positions
> OF | 43.8%
> 1B | 10.0%
> 1B/OF | 3.8%
> 2B/OF | 0.4%
> 3B | 8.3%
> 1B/2B | 0.4%
> C | 7.1%
> 2B | 10.0%
> SS | 11.7%
> 2B/3B | 0.4%
> 2B/SS | 1.7%
> 3B/SS | 0.8%
> 3B/OF | 0.4%
> 1B/3B | 0.8%
> 1B/C | 0.4%
> OF/SS | 0.0%
> 1B/SS | 0.0%
> 2B/C | 0.0%
> C/OF | 0.0%
> 3B/C | 0.0%
>
> —
> Reply to this email directly, view it on GitHub
> <#426 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ANBWO7TOWHMOMM2B6D7YIQLY4TXQXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAZTSMRQG4>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
|
yeah no problem |
Here is the Excel file in xlsx that way you can see everything that I use.
May be easier that way.
…On Wed, Apr 10, 2024 at 3:41 AM Denwen12 ***@***.***> wrote:
Can you send the players-list to my email address?
On Wed, Apr 10, 2024, 4:10 AM joseph offen ***@***.***> wrote:
> If we can't figure something out we will try Friday or sat
>
> On Wed, Apr 10, 2024, 4:08 AM G Dub D ***@***.***> wrote:
>
>> Here is the breakdown for this MLB season so far as to how they score
>> I only count them if they were in the top 20 scorers on the slates
>> I added by positions how they breakdown below also
>> You can see after 5th it drops nearly in half and by positions the OF
is
>> by far the leading position
>>
>> *By Batting Order
>> 1 | 15.9%
>> 2 | 14.6%
>> 3 | 15.9%
>> 4 | 12.4%
>> 5 | 12.0%
>> 6 | 8.2%
>> 7 | 7.7%
>> 8 | 7.7%
>> 9 | 5.6%
>>
>> *Positions
>> OF | 43.8%
>> 1B | 10.0%
>> 1B/OF | 3.8%
>> 2B/OF | 0.4%
>> 3B | 8.3%
>> 1B/2B | 0.4%
>> C | 7.1%
>> 2B | 10.0%
>> SS | 11.7%
>> 2B/3B | 0.4%
>> 2B/SS | 1.7%
>> 3B/SS | 0.8%
>> 3B/OF | 0.4%
>> 1B/3B | 0.8%
>> 1B/C | 0.4%
>> OF/SS | 0.0%
>> 1B/SS | 0.0%
>> 2B/C | 0.0%
>> C/OF | 0.0%
>> 3B/C | 0.0%
>>
>> —
>> Reply to this email directly, view it on GitHub
>> <
#426 (comment)>,
>> or unsubscribe
>> <
https://github.com/notifications/unsubscribe-auth/ANBWO7TOWHMOMM2B6D7YIQLY4TXQXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAZTSMRQG4>
>> .
>> You are receiving this because you commented.Message ID:
>> ***@***.***>
>>
>
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AWNNK4FYPKA7NPAEXCUQJWDY4T3M7AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHEZDANRVGU>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Send it via email ***@***.***
…On Wed, Apr 10, 2024, 4:47 AM G Dub D ***@***.***> wrote:
Here is the Excel file in xlsx that way you can see everything that I use.
May be easier that way.
On Wed, Apr 10, 2024 at 3:41 AM Denwen12 ***@***.***> wrote:
> Can you send the players-list to my email address?
>
> On Wed, Apr 10, 2024, 4:10 AM joseph offen ***@***.***> wrote:
>
> > If we can't figure something out we will try Friday or sat
> >
> > On Wed, Apr 10, 2024, 4:08 AM G Dub D ***@***.***> wrote:
> >
> >> Here is the breakdown for this MLB season so far as to how they score
> >> I only count them if they were in the top 20 scorers on the slates
> >> I added by positions how they breakdown below also
> >> You can see after 5th it drops nearly in half and by positions the OF
> is
> >> by far the leading position
> >>
> >> *By Batting Order
> >> 1 | 15.9%
> >> 2 | 14.6%
> >> 3 | 15.9%
> >> 4 | 12.4%
> >> 5 | 12.0%
> >> 6 | 8.2%
> >> 7 | 7.7%
> >> 8 | 7.7%
> >> 9 | 5.6%
> >>
> >> *Positions
> >> OF | 43.8%
> >> 1B | 10.0%
> >> 1B/OF | 3.8%
> >> 2B/OF | 0.4%
> >> 3B | 8.3%
> >> 1B/2B | 0.4%
> >> C | 7.1%
> >> 2B | 10.0%
> >> SS | 11.7%
> >> 2B/3B | 0.4%
> >> 2B/SS | 1.7%
> >> 3B/SS | 0.8%
> >> 3B/OF | 0.4%
> >> 1B/3B | 0.8%
> >> 1B/C | 0.4%
> >> OF/SS | 0.0%
> >> 1B/SS | 0.0%
> >> 2B/C | 0.0%
> >> C/OF | 0.0%
> >> 3B/C | 0.0%
> >>
> >> —
> >> Reply to this email directly, view it on GitHub
> >> <
>
#426 (comment)>,
>
> >> or unsubscribe
> >> <
>
https://github.com/notifications/unsubscribe-auth/ANBWO7TOWHMOMM2B6D7YIQLY4TXQXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAZTSMRQG4>
>
> >> .
> >> You are receiving this because you commented.Message ID:
> >> ***@***.***>
> >>
> >
>
> —
> Reply to this email directly, view it on GitHub
> <
#426 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/AWNNK4FYPKA7NPAEXCUQJWDY4T3M7AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHEZDANRVGU>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7UFWPW6URZJNCMBUOTY4T4B7AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHEZTCMZYG4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
why is the email showing up as a bunch of *******. Or am i not savvy enuf to know how to see them yet |
J o f f e n 1 2 @ g m a i l . C o m
Without spaces
…On Wed, Apr 10, 2024, 4:53 AM G Dub D ***@***.***> wrote:
why is the email showing up as a bunch of *******. Or am i not savvy enuf
to know how to see them yet
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7SKIBIBMZ4DWAVHKWTY4T4W7AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHE2DGMRQGU>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
I believe that is what you were wanting. Let me know if that is correct. It is from last nights Draftkings slate |
Yes, that's it. I'll try to get something working
…On Wed, Apr 10, 2024, 4:58 AM G Dub D ***@***.***> wrote:
I believe that is what you were wanting. Let me know if that is correct.
It is from last nights Draftkings slate
—
Reply to this email directly, view it on GitHub
<#426 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANBWO7R5VSCJVQNGYWI2ZELY4T5MRAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHE2TIMRWGY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Thx for all the help and I am signing off for a bit |
this is DK data right? Would you happen to have FD Data like this? Good stuff man, always looking for an edge. |
Correct that is DK Data. You could create one for FD in just a few minutes if you want. The more the season progresses the longer it takes to create. I understand the edge part bc I am always looking for one too. I can shoot you several pointers and ideas in a new thread or via email if you want. I consistently get my Pitchers correct every night but the hitters are where the high variance is. |
@DimaKudosh is there a way to form stacks this way?
I have my roster order columns and batting orders before I run the opt but I was trying to eliminate the 7,8,9 hitters from my stack consideration but not for overall lineup consideration. If "optimizer.set_spacing_for_positions(['1B', '2B', '3B'], 3)" is used it could use a 9,1,2 wrap or 8,9,1 wrap to which i am trying to avoid. The "spacing=" argument could also give a wrap around. For MLB the 7,8,9 roster positions are pretty much useless but you will still need to be able to let them be in the selection process but wantig the core of stacks to come from the 1-6 positions. In 2023 82.7% of the top fantasy points scored came from batting positions 1-6 So far in 2024 that number is 79%. This is the importance of wanting to try to find a way.
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_roster_order=['1', '2', '3', '4', '5','6']))
or
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_roster_order=['1-6']))
Thx beforehand
The text was updated successfully, but these errors were encountered: