Hacker Newsnew | past | comments | ask | show | jobs | submit | keule's commentslogin

I understand put options and short selling, but how on earth can the price of a commodity sink below zero? How can you make a „sell“ order that is negative? Can someone explain please?


Happens frequently in CAISO midday during shoulder months (https://www.caiso.com/PriceMap/Pages/default.aspx). Renewable generation produces a lot (sunny, decent wind) and electricity usage is so low, that supply exceeds demand. Electricity has to go somewhere to keep the grid balanced, so the utilities will wholesale electricity at negative rates.


Isn't it very easy to "dump" electricity? Why even sell it?


How would you dump it at this large scale? The point of “selling” it at negative price is to encourage consumers to connect loads on the grid in order to burn this extra energy to maintain grid balance.


Is it so easy? Suppose someone told you to 'dump' 100MW right now, for 3 hours. How would you do it?


As a Finn, probably just send out a message on some social media platform that people need to start turning on their saunas for the stability of the network. (Alternatively, like fingrid did, send a notification to my phone saying to "consume energy normally, as the pricing issue does not reflect energy availability")

Even a fairly small electric sauna is ~10 kW, so that's be just 10000 homes solving that problem.


Those saunas wouldn't get turned on if they weren't getting paid for the trouble.


Very few people get paid during this market anomaly. Most people have fixed rate contracts, and the few that do have variable rates, even fewer have ones where the negative price would be passed on to you.

Transmission cost and taxes will still be present, so this is more of a "hey it's going to be a societally good thing to go to the sauna today instead of tomorrow, consider it!" (Also, the saunas are definitely in use, don't worry, nobody's going to pass up the opportunity to say they went to the sauna for a good cause.)


Or, via lower price - negative if necessary - you let someone else go to the trouble, via facilities that they themselves invested in. Also in systems like this, there is not necessarily anything special about "zero" or "negative". It's just "less than the previous number" or "more incentive this way than the previous number".


The idea that negative prices are something weird is pretty silly.

A negative price indicates that the person sellers disposal technique is worse than the buyers disposal technique. In other words, the market is working as intended.

Nobody is complaining about the cost of garbage disposal where people are paying for having less (!) stuff.


There get to be points in some commodities where providers temporarily do want to pay for people to take their product. Electric power is one where supply is not particularly elastic and does need to be disposed of when there is too much for grid stability.

This has happened a couple of times with oil pipelines as well.

Markets tend to figure these things out quickly though.

Commodities contracts that settle in the actual commodity and not in cash are actual obligations on both sides to deliver and take delivery. At some point in order to get rid of the obligation to take delivery at some point people are willing to pay to get rid of their contracts. Sometimes this happens when speculators make crazy bets during instability.


Happened with crude oil in 2020. If you’re still going to produce it but have no where to store it you need to pay people to receive a shipment of 10,000 barrels.


So why don't they put that towards their own capital in terms of expanding retention capacity?


The traders have no place to store it. No method to retain, unless you pay rent, which puts pressure on your trade.


So why are they bitching about this or is it simply like a niche interest piece? Like why should anybody care about this?


It's fun to quote. Much less fun to explain that it's the normal process.


Im exhausted already


how it was explained to me:

its like if you booked a prostitute to come over on Friday, on Friday you found out your partner was coming over and you need the full service sex worker to go somewhere else but have nowhere to send them, so you attempt to pay anyone to take the booking and everyone else is in the same predicament and eventually someone’s going to take the loss of having the prostitute around their partner and mess up their social situation but will be paid handsomely for it

relatable commodities problem


This sounds like something a toxic middle management bro might say to be edgy.

If this is easier for you to understand, you might have a problem.


you’re right, sex workers take deposits for this specific reasons and have autonomy and agency, it’s weird and outdated to deny [probably] women that

thanks for pointing that out it’s a big plot hole and very much unlike the energy market. although maybe deposits would be an improvement to the energy market


a deposit has nothing to do with it, you need to dump the electricity or the entire grid will have a bad time.


reiterating the analogy


no, because it's not your typical cost of carry problem. Oil barrels will not spontaneously combust if you leave them at the plant, and you can control the rate at which you produce them. And the problem is contained at the point at which a seller is left holding the goods.

The electric grid will always distribute the load _somehow_, but the way that happens if there's not enough buyers will have far reaching consequences that are uniuqe to this utility. AND you do not have full control of the production of electricity, which means you don't have the means to react ro a surge unless you have enough sinks distributed _across_ the network.


"I will pay you to take this"


Nowadays it is mostly renewable subsidies without a clause for negative price, marginal cost is 0, if they are paid at a fixed price they will produce and dump it on the market, in Nederlands they big glasshouse turn on the light when the sun is at its peak and earn money. And there is also inflexible baseload, that can't cycle up and down at the rate of changing demand or renewable ramp.


You need to dump product you can't store.

Happened to oil during early covid: https://www.nytimes.com/2020/04/20/business/oil-prices.html


Ah thank you. I remember now. Still weird that this can also happen (and is allowed to happen) in an energy market.


This is in fact a very good feature. When power is cheap or negative it's because there is more generation than load in some segment of the grid. To fix this you can tell people to stop generating, you can tell people to start loading, or you can just drop the price and let both happen on their own.

There are targetted ways this is done when the difference is so big it threatens grid stability, but its often better to let the market handle the gross imbalance on longer timescales when grid stability is not threatened.

There are some things markets are very good at. This is one of them.


> There are some things markets are very good at. This is one of them.

Ironic in a thread about the market making up a totally imaginary generation surplus.

10-20% of Finnish retail customers are on spot market based contract, and stand to save up to something on the order of 0.40€/kWh consumed (net after taxes and fees) off their electrical bill for the reminder of the day. I suppose every market-rational consumer would have a 10kW electric space heater outside melting snow on the ground, maxing out their supply.


No need to waste power melting snow, instead we can all turn on our (electric) saunas!


It's actually particularly important that prices be able to go negative in an electricity market, because it's physically impossible to store electricity: it must be generated and consumed at the same moment. "Electricity storage" is shorthand for "conversion to and from a different kind of energy", which from the perspective of the grid is just a kind of consumption or generation. And if there is too much unused power on the grid, it will damage it.


No the opposite is the case. How would you expect a zero minimum price to be enforced? All waste products would have to be disposed by the government for free and the thing is that this costs money. Negative prices signal a desire to get rid of something.


IMO a chaotic system will not allow for long-term forecast, but if there is any type of pattern to recognize (and I would assume there are plenty), an AI/ML model should be able to create short-term prediction with high accuracy.


Not an expert, but "Up to 10 days in advance" sounds like long-term to me ?


I think 10 days is basically the normal term for weather, in that we can get decent predictions for that span using "classical"/non-ML methods.


IDK, I wouldn't plan a hike in the mountains based on 10-day predictions.


To be clear: With short-term I meant the mentioned 6 hours of the article. They use those 6 hours to create forecasts for up to 10 days. I would think that the initial predictors for a phenomenon (like a hurricane) are well inside that timespan. With long-term, I meant way beyond a 14-day window.


But AI/ML models require good data and the issue with chaotic systems like weather is that we don’t have good enough data.


The issue with chaotic systems is not data, is that the error grows superlinearly with time, and since you always start with some kind of error (normally due to measurement limitations) this means that after a certain time horizon the error becomes to significant to trust the prediction. That hasn't a lot to do with data quality for ML models


That’s an issue with data: If your initial conditions are wrong (Aka your data collection has any error or isn’t thorough enough) then you get a completely different result.


Every measurement has inherent errors in it - and those errors are large if the task is to measure the location and velocity of every molecule in the atmosphere.

You also need to measure the exact amount of solar radiation before it hits these molecules (which is impossible, so we assume this is constant depending on latitude and time)

These errors compound (the butterfly effect) which is why we can't get perfect predictions.

This is a limit inherent in physical systems because of physics, not really a data problem.


> As in, "we have a PHP monolith used by all of 12 people in the accounting department, and for some reason we've been tasked with making it run on multiple machines ("for redundancy" or something) by next month.

Usually, your monolith has these components: a web server (apache/nginx + php), a database, and other custom tooling.

> Where would someone start ?

I think a first step is to move the database to something managed, like AWS RDS or Azure Managed Databases. Herein lies the basis for scaling out your web tier later. And here you will find the most pain because there are likely: custom backup scripts, cron jobs, and other tools that access the DB in unforeseen ways.

If you get over that hump you have done your first big step towards a more robust model. Your DB will have automated backups, managed updates, rollover, read replicas etc. You may or may not see a performance increase, because you effectively split your workload across two machines.

_THEN_ you can front your web tier with a load balancer, i.e. you load balance to one machine. This gives you: better networking, custom error pages, support for sticky sessions (you likely need them later), and better/more monitoring.

From thereon you can start working on removing those custom scripts of the web tier machine and start splitting this into an _actual_ load-balanced infrastructure, going to two web-tier machines, where traffic is routed using sticky-sessions.

Depending on the application design you can start introducing containers.

Now, this approach will not give you a _cloud-native awesome microservice architecture_ with CI/CD and devops. But it will be enough to have higher availability and more robust handling of the (predictable) load in the near future. And on the way, you will remove bad patterns that eventually allow you to go to a better approach.

I would be interested in hearing if more people face this challenge. I don't know if guides exist around this on the webs.


I certainly agree about the cron jobs. We shifted a whole bunch of tooling to an internal PaaS solution. One of the tools (a Kanban board I think) we shifted had started sending alerts for jobs that they had since deleted - upon investigation it was the cron job and database that still existed on the old server, still sending out emails.


Thank you for sharing the unforeseen depths of a monolith :D


Hey, this was useful, thanks.


You reminded me of the HikariCP library and it’s documentation: Clear and simple with references to other libraries trying to accomplish the same thing. It is not in the clojure space though.

https://github.com/brettwooldridge/HikariCP


You may want to check out Blinkist. https://www.blinkist.com/ They give you the condensed information. Usually it is enough to get an overview. For a deep dive you can follow up by buying the book.


Really glad I took the extra time to switch to logback


It seems to me that people with dry sarcasm can not live that out in the media. Putting things out of context or blowing single events out of proportion has become too common. Very unsettling.


It makes sense though. The largest Monolith has the largest Repo. ;)


I imagine that the windows OS repo includes IE (and edge), paint, Exploer.exe, Windows Management Systems, Cortana, and a ton of other projects that would merit their own repository in an open source community.


While separate repos do make sense for individual projects normally, as we well know, most Windows components are incredibly tightly bound together (how many different things can crash Explorer?) so a mono-repo seems to make sense for it.


I don't think it's fair to say that _most_ Windows components are _incredibly_ tightly bound together.


I had the same thought and agree with what you wrote. But when you think about this set of evolutionary steps you still end up with the same scenarios: you are rare, you are first, you are fucked. So in that regard, you can subsume all of these steps into a filter.


So I only have a basic/intermediate understanding of SSL and X509, but I am curious about your opinion: Is the awful code design just a flaw in that particular implementation, or are the standards involved so hard to implement correctly?


I think it's largely a problem with OpenSSL itself.

It's true that TLS and X.509 are quite complicated and I think it would be a challenge for anyone to implement them correctly, but that doesn't explain even half of OpenSSL's awfulness. Having consistent naming and error handling conventions should be possible regardless of how complicated the standards are. Plus, their crypto library is awful too, despite not having to deal with TLS or X.509.


While the core parts of the crypto algorithms are, to some extent, intrinsically messy, that doesn't have much to do with the specific complaints here: inconsistent error return codes, pseudorandom indentation, #ifdef and if(0) stuff which deeply obscures control flow, and so forth. All of that is just bad style.


OpenSSL is a mess on its own. Other libraries are better organized and better documented, so I doubt that it is the fault of TLS or x509.


I understand that a lot of OpenSSL features were implemented by or because a company sponsored a specific feature, but was only interested in getting that specific feature done rather than any wholesale refactoring of the code. So it's had a bunch of different projects glommed onto it with no overall structure.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: