Yeah - first time I have seen that specific issue.
Yeah - first time I have seen that specific issue.
该用户的聊天记录定位。
Yeah - first time I have seen that specific issue.
Yeah - first time I have seen that specific issue.
The shipping is cheap when you compare it to the cost of all the Mouton Rothschild you’ve need to drink quick to make room for the cans of CG in the wine fridge
The shipping is cheap when you compare it to the cost of all the Mouton Rothschild you’ve need to drink quick to make room for the cans of CG in the wine fridge
It’s good stuff - not necessarily as good as some of the WI craft creamery cheeses I can get my hands on but better than most if not all national craft brands - and much better than any off the shelf cheese
It’s good stuff - not necessarily as good as some of the WI craft creamery cheeses I can get my hands on but better than most if not all national craft brands - and much better than any off the shelf cheese
No problem - just had to resupply today myself
No problem - just had to resupply today myself
I assume you are referring to cans of Cougar Gold cheese - that is a cold storage investment that will guaranteed to produce dividends.
I assume you are referring to cans of Cougar Gold cheese - that is a cold storage investment that will guaranteed to produce dividends.
So under your plan: - buy 100 contracts at 50 cents of both yes and no - cost = $100, fees = $3.50 - running profit = -$103.50 - sell 100 contracts of yes for 75 cents - proceeds = $75, fees = $1.32 - running profit = -$29.82 - sell 100 contracts of no for 75 cents - proceeds = $75, fees = $1.32 - running profit = $43.86 Or you could: - buy 100 no contracts at 25 cents - cost = $25, fees = $1.32 - running profit = -$26.32 - sell 100 no contracts at 75 cents - proceeds = $75, fees = $1.32 - running profit = $47.36 So you could slowly go broke trading "both sides" of vol or you could skip the step of using an imaginary derivative (that is only meant to pry more money in fees from you) and trade efficiently instead. Your choice really...
So under your plan: - buy 100 contracts at 50 cents of both yes and no - cost = $100, fees = $3.50 - running profit = -$103.50 - sell 100 contracts of yes for 75 cents - proceeds = $75, fees = $1.32 - running profit = -$29.82 - sell 100 contracts of no for 75 cents - proceeds = $75, fees = $1.32 - running profit = $43.86 Or you could: - buy 100 no contracts at 25 cents - cost = $25, fees = $1.32 - running profit = -$26.32 - sell 100 no contracts at 75 cents - proceeds = $75, fees = $1.32 - running profit = $47.36 So you could slowly go broke trading "both sides" of vol or you could skip the step of using an imaginary derivative (that is only meant to pry more money in fees from you) and trade efficiently instead. Your choice really...
IE - don’t plan on relying on the website if you do any volume
IE - don’t plan on relying on the website if you do any volume
Yeah - you’ll give up on the website being usable in time as well if you trade via the API enough - sometimes I forget that some API traders still hold out hope for that (my ability to use it has been spotty at best for >1yr)
Yeah - you’ll give up on the website being usable in time as well if you trade via the API enough - sometimes I forget that some API traders still hold out hope for that (my ability to use it has been spotty at best for >1yr)
https://discord.com/channels/871819895443189862/927686720990892032/1517558916001693716
https://discord.com/channels/871819895443189862/927686720990892032/1517558916001693716
Love the reinforcement of rule #1
Love the reinforcement of rule #1
Totally agree - also as I had built out my own persistent datastore and state my reliability, speed, restart time, and ability to support new strategies have all improved specifically because of the additional data I was persisting.
Totally agree - also as I had built out my own persistent datastore and state my reliability, speed, restart time, and ability to support new strategies have all improved specifically because of the additional data I was persisting.
Portfolio page
Portfolio page
To add to what <@91200691426590720> noted - any seasoned Kalshi trader whose strategy involves entering and exiting positions is tracking all of their orders on their own side (whether it is tracking strategy, flow, position, exposure, other use cases, or a mix) from the time of order creation. This is on top of tracking existing position and outstanding orders. No one should rely on exchange data alone to understand their positioning and/or intent. I am not labelling you as inexperienced in the term "seasoned" but more referring to the fact that datapoints the exchange delivers may change or go away over time - most of us who have traded for a while have learned the hard way that we need to track any pertinent data on our own side to make sure it is available for our needs - this may not be something you have experienced in your time trading on Kalshi but I can pretty much guarantee that anyone who spends enough time trading on the exchange will encounter this. Understand that even if they were to reverse this change (which they aren't), another change in the future would have similar effects on your setup - your best bet is to start to persist the data you need going forward rather than rely on the exchange not changing.
To add to what <@91200691426590720> noted - any seasoned Kalshi trader whose strategy involves entering and exiting positions is tracking all of their orders on their own side (whether it is tracking strategy, flow, position, exposure, other use cases, or a mix) from the time of order creation. This is on top of tracking existing position and outstanding orders. No one should rely on exchange data alone to understand their positioning and/or intent. I am not labelling you as inexperienced in the term "seasoned" but more referring to the fact that datapoints the exchange delivers may change or go away over time - most of us who have traded for a while have learned the hard way that we need to track any pertinent data on our own side to make sure it is available for our needs - this may not be something you have experienced in your time trading on Kalshi but I can pretty much guarantee that anyone who spends enough time trading on the exchange will encounter this. Understand that even if they were to reverse this change (which they aren't), another change in the future would have similar effects on your setup - your best bet is to start to persist the data you need going forward rather than rely on the exchange not changing.
except for the fact they didn't dedicate staff to it so a lot of them just languished
except for the fact they didn't dedicate staff to it so a lot of them just languished
check your code - the symptoms sound like you have some blocking code that is creating artificial latency on your measurements - if its blocking your measurement, it is almost certainly blocking other parts of your runtime.
check your code - the symptoms sound like you have some blocking code that is creating artificial latency on your measurements - if its blocking your measurement, it is almost certainly blocking other parts of your runtime.
both of those numbers are high so a lot of it is likely in switching to get to the exchange (each API request can take a different path through the ether - the further you are from the exchange, the more forks it could take). Another factor is going to be how busy the exchange/market thread is - the busier it is, the more items in the queue in front of your order to process before yours gets taken up.
both of those numbers are high so a lot of it is likely in switching to get to the exchange (each API request can take a different path through the ether - the further you are from the exchange, the more forks it could take). Another factor is going to be how busy the exchange/market thread is - the busier it is, the more items in the queue in front of your order to process before yours gets taken up.
Shouldn't being able to navigate the API docs independently kinda be a pre-req for advanced tier?
Shouldn't being able to navigate the API docs independently kinda be a pre-req for advanced tier?
go to the page for the market and under "Timeline and payout" it will show Series, Event, and Market tickers. That is the order of the hierarchy as well. Just look at a response from the GetEvent or GetEvents endpoints and you will see all the strike data there as well (strike_type, floor_strike, cap_strike)
go to the page for the market and under "Timeline and payout" it will show Series, Event, and Market tickers. That is the order of the hierarchy as well. Just look at a response from the GetEvent or GetEvents endpoints and you will see all the strike data there as well (strike_type, floor_strike, cap_strike)
For me, it’s always been a bit of an issue in my code of not handling all ended markets and events in all corners of my runtime - it’s a good opportunity to finally test and push the code that cleans it up.
For me, it’s always been a bit of an issue in my code of not handling all ended markets and events in all corners of my runtime - it’s a good opportunity to finally test and push the code that cleans it up.
I did too - it was always fatal before and the code never really seemed to matter (or inform). Mine was a quick fix this morning once I found out - ignore error code 28 (for now - I will tighten up market management later)
I did too - it was always fatal before and the code never really seemed to matter (or inform). Mine was a quick fix this morning once I found out - ignore error code 28 (for now - I will tighten up market management later)
A lot of people seem to be confused on this - the code 28 error message does not invalidate your WS connection - it just tells you the market is not subscribable. If you are throwing a fatal error on your WS connection (and killing the connection or your app) you need to update your code to handle these as warnings not as fatal error messages. You can easily drop the offending tickers or just ignore the error message entirely - there seems to be a lot of "oh no, this changes everything" sentiment - if your app is handling it in this way, you wrote your error message handling code wrong and need to update it - simple. My assumption is that we will start to see more error messages like this in the future so you will want a way to handle it properly. And to add, I think we all wrote our error handling code wrong because Kalshi has not had a history of sending over sensical or informative errors in the past - if they are planning on now, that is a net positive.
A lot of people seem to be confused on this - the code 28 error message does not invalidate your WS connection - it just tells you the market is not subscribable. If you are throwing a fatal error on your WS connection (and killing the connection or your app) you need to update your code to handle these as warnings not as fatal error messages. You can easily drop the offending tickers or just ignore the error message entirely - there seems to be a lot of "oh no, this changes everything" sentiment - if your app is handling it in this way, you wrote your error message handling code wrong and need to update it - simple. My assumption is that we will start to see more error messages like this in the future so you will want a way to handle it properly. And to add, I think we all wrote our error handling code wrong because Kalshi has not had a history of sending over sensical or informative errors in the past - if they are planning on now, that is a net positive.
that has always been true - the response just now tells you
that has always been true - the response just now tells you
If anyone does find out what is triggering it (if it is throwing the error on any current subscription once the market closes, if it is only when it receives an update command with the ticker, or if it is whenever it receives an update command where there is a closed ticker in the current subscription list it is monitoring for you) - please let everyone else know so we can adjust code eaiser without all having to research - if I am able to dig in today or tomorrow I will post but my schedule looks relatively busy.
If anyone does find out what is triggering it (if it is throwing the error on any current subscription once the market closes, if it is only when it receives an update command with the ticker, or if it is whenever it receives an update command where there is a closed ticker in the current subscription list it is monitoring for you) - please let everyone else know so we can adjust code eaiser without all having to research - if I am able to dig in today or tomorrow I will post but my schedule looks relatively busy.
recently closed markets on a current event or just recently closed markets in general - I haven't dug in to the logs yet to figure out if it is throwing the error on any current subscription once the market closes, if it is only when it receives an update command with the ticker, or if it is whenever it receives an update command where there is a closed ticker in the current subscription list it is monitoring for you.
recently closed markets on a current event or just recently closed markets in general - I haven't dug in to the logs yet to figure out if it is throwing the error on any current subscription once the market closes, if it is only when it receives an update command with the ticker, or if it is whenever it receives an update command where there is a closed ticker in the current subscription list it is monitoring for you.
Its a good thing to add - would have been nice if it was called out better in the changlog (they kinda tucked it in on another one). Overall it will help reduce the amount of unecessary work the exchange has to do and thus reduce overhead a bit and improve latency for all
Its a good thing to add - would have been nice if it was called out better in the changlog (they kinda tucked it in on another one). Overall it will help reduce the amount of unecessary work the exchange has to do and thus reduce overhead a bit and improve latency for all
Well that was a lot of fun. Also seems like I get to do some additional cleanup on my runtime soon to get rid of markets that shouldn't be there.
Well that was a lot of fun. Also seems like I get to do some additional cleanup on my runtime soon to get rid of markets that shouldn't be there.
https://giphy.com/gifs/DpLvwggGGyyBO
https://giphy.com/gifs/DpLvwggGGyyBO
I see it mainly as an opportunity to test my aumatic kill switches
I see it mainly as an opportunity to test my aumatic kill switches
Of course - I would say keep an eye open - right now it seems fine but that can change quick.
Of course - I would say keep an eye open - right now it seems fine but that can change quick.
I don't know if you can but your issue is likely that you had too many resting orders on one market that your cash balance couldn't handle - the exchange auto-cancels orders in those cases
I don't know if you can but your issue is likely that you had too many resting orders on one market that your cash balance couldn't handle - the exchange auto-cancels orders in those cases
It’s a niche request - neat to have and will make a couple small dollar traders happy - likely not worth the squeeze - if they get to it without hurting the rest of the exchange, great - if not then I don’t see its absence impacting volume
It’s a niche request - neat to have and will make a couple small dollar traders happy - likely not worth the squeeze - if they get to it without hurting the rest of the exchange, great - if not then I don’t see its absence impacting volume
agree
agree
I do wonder if Kalshi is trying to get away from having to provide UI support for heavy API users. I know they have not been able to keep a stable experience for me and assume this is pretty widespread for volume traders - maybe they finally gave up on committing to supporting UI for API users in the future. Personally, I found the API change removing the side with no way to have it indicated in the UI rather annoying (I understand and agree with the base of the changes - just would be nice to add a tag which shouldn't be much overhead). I also didn't see it as a dealbreaker (as some do) - it makes my old way of mentally organizing my trades obsolete but thats not the end of the world - balance going up is really the important metric
I do wonder if Kalshi is trying to get away from having to provide UI support for heavy API users. I know they have not been able to keep a stable experience for me and assume this is pretty widespread for volume traders - maybe they finally gave up on committing to supporting UI for API users in the future. Personally, I found the API change removing the side with no way to have it indicated in the UI rather annoying (I understand and agree with the base of the changes - just would be nice to add a tag which shouldn't be much overhead). I also didn't see it as a dealbreaker (as some do) - it makes my old way of mentally organizing my trades obsolete but thats not the end of the world - balance going up is really the important metric
Gives the rest of us more money too - it’s a win-win
Gives the rest of us more money too - it’s a win-win
403 indicates an issue with the IP address - have you tried from another deployment location?
403 indicates an issue with the IP address - have you tried from another deployment location?
Reagan - he had the anti-trust viewpoint that there had to be direct consumer harm demonstrated to call something a monopoly - he basically birthed the enshitification era
Reagan - he had the anti-trust viewpoint that there had to be direct consumer harm demonstrated to call something a monopoly - he basically birthed the enshitification era
I thought it was space lasers
I thought it was space lasers
Surprisingly not too bad tonight
Surprisingly not too bad tonight
Most, no - those things tend to be older than methuselah - most of them are only held together still by some chewing gum and some Pascal or COBOL variant
Most, no - those things tend to be older than methuselah - most of them are only held together still by some chewing gum and some Pascal or COBOL variant
Bit before my time too but good to see my jokes have some audience
Bit before my time too but good to see my jokes have some audience
Sorry - Robert Bork joke - sometimes I forget my audience
Sorry - Robert Bork joke - sometimes I forget my audience
Not seeing anything unusual on my end - have you checked your bot for any recent bad anti-trust opinions?
Not seeing anything unusual on my end - have you checked your bot for any recent bad anti-trust opinions?
Oh there are flaws and I have lots of kill switches
Oh there are flaws and I have lots of kill switches
I don’t think I ever shared PnL - it started more as a fun side project, not a money maker and once it did - well, I just don’t like to hurt other people’s feelings (I’m a midwesterner - what can I say?)
I don’t think I ever shared PnL - it started more as a fun side project, not a money maker and once it did - well, I just don’t like to hurt other people’s feelings (I’m a midwesterner - what can I say?)
I think on daily volume I tend to not show too much since my volume is pretty consistent wheats others go in spurts
I think on daily volume I tend to not show too much since my volume is pretty consistent wheats others go in spurts
385m volume since I started (although that misses some pre api changeover numbers), and 206m YTD volume - not quite as close to the top in volume as predictions but not that far off. I don’t share on the profit leaderboard, but I can say that I’m not complaining (and I think volume shows that I am obviously incentivized to continue).
385m volume since I started (although that misses some pre api changeover numbers), and 206m YTD volume - not quite as close to the top in volume as predictions but not that far off. I don’t share on the profit leaderboard, but I can say that I’m not complaining (and I think volume shows that I am obviously incentivized to continue).
What do you mean by money in the game?
What do you mean by money in the game?
Probably wouldn’t truly be atomic since the matching engine is likely only built to handle single orders (there are a lot of architectural reasons to keep it as lightweight as possible) so you would still be putting singles into the queue and so another thread/worker could plop one in in-between - if you have one thread/worker lock input to a matching feeder queue you run a lot of risk of it ballooning.
Probably wouldn’t truly be atomic since the matching engine is likely only built to handle single orders (there are a lot of architectural reasons to keep it as lightweight as possible) so you would still be putting singles into the queue and so another thread/worker could plop one in in-between - if you have one thread/worker lock input to a matching feeder queue you run a lot of risk of it ballooning.
If they are atomic then you would think orders on the same market would be sequential (which they don't seem to be). Also, there needs to be some splitting function since different markets will inevitably need to get routed to different threads/queues (they either need to separate markets into different queues or threads in order to prevent resource locks/idled workers)
If they are atomic then you would think orders on the same market would be sequential (which they don't seem to be). Also, there needs to be some splitting function since different markets will inevitably need to get routed to different threads/queues (they either need to separate markets into different queues or threads in order to prevent resource locks/idled workers)
are you thinking that the calls are hitting the batch endpoint and then it is pushing them to public individual endpoints? Unless they are external endpoints, you would think (hope) a load balancer wouldn't come into play to pass it for processing since I doubt there are multiple nodes/threads for single markets on the matching engine. Passing to a public endpoint would seem to add a good deal of time
are you thinking that the calls are hitting the batch endpoint and then it is pushing them to public individual endpoints? Unless they are external endpoints, you would think (hope) a load balancer wouldn't come into play to pass it for processing since I doubt there are multiple nodes/threads for single markets on the matching engine. Passing to a public endpoint would seem to add a good deal of time