Quick question but what actually affects price apart from the buy sell levels? Who actually sets the level (who are the market makers)
Anyone and everyone!
Anyone sticking in limit orders into the order book/providing the liquidity is setting the price essentially. Lots of the day to day liquidity will come from HFT/market making firms - they're actually quite small, generally using proprietary capital as this is a highly lucrative business with ridiculous % returns for the people who are the smartest/fastest.
For example if you take a snapshot of the order book at any time there are a bunch of bids(order which was sent to the exchange to buy at that price or lower) and a bunch of offers (order which was sent to the exchange to sell at that price or higher) at different price levels.
So say at a snap shot in time you have dowie corp - we'll take a look at say 3 levels of bids and offers - say dowei corp is trading around 550 OCUK dollars and, for the sake of simplicity the price increments are in whole OCUK dollars - this is crude and we'll keep it simple by saying there is only one venue at which dowie corp shares are traded and we'll just have a simple order book which operates on a "FIFO" - "first in first out" basis - this is basically like how a lot of futures markets work and keeps things simple:
dowie corp (DWIE)
..........503...3460...
..........502...800....
..........501...430....
...325....500..........
...1246...499..........
...2080...498..........
So in the above we can see if we want to buy shares in dowie corp right now then there are 430 available at 501 and more available at higher prices... likewise if we want to sell then the offer is 500... the difference between these is the "spread".
Lets say someone wants to buy 500 dowie corp shares at 501 - lets say they throw in a limit order at 501 - in that split second they do that, we'll assume there are no other orders, no one pulling orders etc.. - what does that look like immediately after:
dowie corp (DWIE)
..........503...3460...
..........502...800....
...70.....501..........
...325....500..........
...1246...499..........
...2080...498..........
So now the bid is 501 and the offer is 502... because that person buying has eaten up all the 430 shares on the offer though they still have 70 shares they want to buy...
What might happen here is immediately after that some other participants human or otherwise react*... maybe some of the guys who also wanted a taste of dowie corp at 500 will pull their orders and stick them in at 501, maybe some more people stick in buy orders maybe some of the people will sell orders at 502 and 503 are backing off a bit now... perhaps it looks like this after people have added or pulled orders:
..........503...1460...
..........502...400....
...500....501..........
...600....500..........
...800....499..........
...1500...498..........
That order for 500 shares on the bid is a combination of the 70 left over shares and any other orders that joined at that price...
now say someone sells 100 shares at market:
..........503...1460...
..........502...400....
...400....501..........
...600....500..........
...800....499..........
...1500...498..........
What's happened here then? Well our guy who had 70 shares still left to fill was at the front of the queue (cos he was the first there with bids at 501 and made the new price) so his whole order is now filled, he's the proud owner of 500 dowie corp shares... 30 other shares went to the next quickest ones to follow him.
Now lets say there is some positive news released about dowie corp, cos dowie corp is just awesome... well that could lead to both a combination of people trying to buy shares but also... those guys with the sell limit orders sitting in the book might start to pull them as the price jumps up slightly - lets look at more than 3 levels this time:
Maybe in the first tiny fraction of a second some lucky punter manages to grab 1000 dowie corp shares
..........515...2000...
..........514...700....
..........513...800....
..........512...800....
..........511...2500...
..........510...4500...
..........509...900....
..........508...800....
..........507...1000...
..........506...1500...
..........505...3500...
..........504...2050...
..........503...860....
..........502..........
...400....501..........
...600....500..........
...800....499..........
...1500...498..........
Maybe some others throw in orders but the people previously looking to sell start pulling their orders... the price can shoot up... not because there are necessarily people getting filled at all those levels but because in a split second perhaps the order book for dowie corp looked like - perhaps a combination of orders being pulled at like 503, 504 etc.., maybe someone threw in an order for 1000 shares at 510 and 1000 at 509 and got filled/partially filled - in a split second of pulling orders, thrown in orders it might look like this:
..........515...2000...
..........514...700....
..........513...800....
..........512...800....
..........511...2500...
..........510...3500...
...100....509..........
..........508..........
..........507..........
...800....506..........
..........505..........
...700....504..........
..........503..........
..........502..........
...400....501..........
...600....500..........
...800....499..........
...1500...498..........
Though in another spit second the price levels fill up again and we'd maybe have something like (looking at three levels again)
..........512...800....
..........511...2500...
..........510...2500...
...600....509..........
...2550...508..........
...1500...507..........
Say there was some really really bad news about dowie corp, maccy corp has used the ban hammer and prospects are looking very bad indeed... well save for perhaps a few unlucky people too slow to pull their buy orders... maybe the next willing buyers for dowie corp are much further down the order book... perhaps like down at 400-ish... that doesn't require loads of buying and selling per se for the price to move... but rather lots of orders being pulled and the market just dropping down to where some buy orders/sell orders can be matched...
*what actually happens in reality is multiple orders will be added/pulled in each tiny fraction of a second/"heartbeat" of the exchange and market participants react to that (or really various algos react to that, humans kind of react on a bit of a slower time frame, and those interested in longer time frames don't even look at the actual order book itself at all) .