1.赛题背景:
此次比赛主要针对“电力现货市场”(可以类比证券交易市场),泛指短时间内的电能量交易市场。
市场中有大量发电机组(供给者,会发电并卖出电力)按照交易规则,在指定的平台上采取集中竞价的方式确定电能的交易量和价格。这些电能会被输送给个体户、商业用户等,从而利用市场机制实现资源优化配置。
在最理想的情况下,市场完全竞争(市场参与者众多,以至于没有任何一方能够影响价格,不存在控制价格的可能性),没有任何博弈行为。每个发电机组都诚实报价,市场出清价格稳定可靠,达到最优效率。
但现实中,电力现货市场有以下特点:
-
寡头竞争(几家电力公司独大,对价格有显著影响)
-
不完全信息(不同机组信息不互通,存在打信息差牟利的可能)
-
非合作博弈(机组之间各谋其利,追求各自的利益最大化)
-
参与者有限理性(受限于经济知识和对市场的了解,机组不一定能做出最优决策)
从而不同机组之间有复杂的博弈行为,这就让市场出清价格难以估计。
因此,本次比赛要求针对电力现货市场价格和市场博弈主体(549个发电机组)的信息,用ABM方法建模这些机组在报价上的博弈行为,使最终模拟的市场出清报价接近现实中的市场出清价格。
2.赛题数据:
electricity price.csv
:电力市场的市场出清价格,市场需求等信息。训练集范围为2021年12月1日到2023年7月1日,共计55392个点;测试集范围为2023年7月1日到2024年4月18日,共计28228个点
-
Day/Time:交易时间,中国电力现货市场15分钟结算一次,一天共96个交易点
-
demand:区域内电力总负荷(总需求),单位为MW
-
clearing price (CNY/MWh):市场出清电价,单位为元/MW·h
day | time | demand | clearing price (CNY/MWh) |
2021/12/1 | 0:15 | 40334.18 | 350.8 |
2021/12/1 | 0:30 | 40523.15 | 350.8 |
2021/12/1 | 0:45 | 40374.74 | 350.8 |
unit.csv
:存放市场供给者(各发电机组)的参数信息
机组数据包含549个不同的火电机组
-
unit ID:每个机组唯一的ID
-
Capacity(MW):机组的额定容量(额定功率),越高机组的发电能力越强
-
utilization hour (h) :电厂的年平均运行小时数,需要注意多个机组可能共同属于一个电厂,有相同的值
-
coal consumption (g coal/KWh):每发一度电需要耗费多少煤炭,为成本参数
-
power consumption rate:电厂单位时间内耗电量与发电量的百分比,例如单位时间耗电量为500度电,发电量为10000度电,利用率就是500/10000=5%。
-
unit ID Capacity (MW) Utilization Hour (h) Coal Consumption (g coal/KWh) Power Consumption Rate (%) 1 110 2069.12 266.07 6.91 2 160 5509.22 292.7 6.91 3 160 3562.79 293.35 6.91
3. 附上baseline代码链接
https://linklearner.com/activity/12/2/2
4.思考
1.baseline跑通
我的代码是在本地运行,因为之前就有跑过电力预测的经验,在配置环境上和跑通baseline并未遇到太多问题
2.边际成本定价和价格帽
是我第一次接触的新名词,但是跟政治上的经济学差不多
baseline采用了最简单的边际成本定价策略,即机组报出的电价不能低于边际成本,否则就会亏损。
借用一下task1里的图
本质上就是一种供需关系
但是为了保持市场稳定,防止过高价,或过低价,我们提出了"价格帽",
即规定:
-
报价上限为:1300元/MWH
-
报价下限为:-80元/MWH
-
出清价格上限:1500元/MWH
-
出清价格下限:-100元/MWH
通过观察数据我们也能发现,数据中有4512个-80元的交易点,最低价格为-85元。而最高价格是1296元,接近价格上限。
这说明这个规定是比较合理的
3.ABM模型
ABM模型也是我第一次接触
这里给出task1里的概念总结
-
代理(Agent):系统中的基本个体,每个代理都有自己的属性和行为规则。
-
环境(Environment):代理活动的空间或网络,可能影响代理的行为。
-
交互规则(Interaction Rules):代理之间、代理与环境之间的相互作用规则。
-
时间步(Time Steps):系统按离散的时间步推进,模拟出系统的动态变化过程。
task1举例的是捕食者-被捕食者,实际上还有很多例子可以加深理解
ps:由于最近事情繁多,所以笔记就简单一些,后面会在task2和task3里继续补充