PyPSA电力系统分析简介

Python012

PyPSA电力系统分析简介,第1张

PyPSA代表“用于电力系统分析的Python”。它发音为“pipes-ah”。

PyPSA是一个免费的软件工具箱,用于模拟和优化现代电力系统,包括具有机组组合,可变风能和太阳能发电的传统发电机,存储单元,与其他能源部门耦合以及混合交流和直流网络等功能。 PyPSA旨在通过大型网络和长时间序列很好地扩展。

截至2018年,PyPSA正在大力发展,因此建议在生产环境中使用时要小心。某些API可能会更改 - 每个PyPSA版本中的更改都列在发行说明中。

该项目由卡尔斯鲁厄理工学院自动化与应用信息学研究所的能源系统建模小组负责维护。该小组由Helmholtz协会资助,直到2024年。之前的版本由FIAS的可再生能源小组开发,用于CoNDyNet项目的模拟,由德国联邦教育和研究部(BMBF)资助,作为Stromnetze研究的一部分。倡议。

PyPSA不像其他电力系统仿真工具那样功能齐全,例如基于Matlab的免费软件PSAT或商业软件包DIgSILENT PowerFactory。

然而,对于具有可变可再生能源和/或存储和/或混合AC-DC系统的若干时间快照的功率流和最佳功率流,它提供了Python的灵活性和自由软件的透明性。

另一个Python电源系统工具是PYPOWER,它基于基于Matlab的MATPOWER。 与PYPOWER相比,PyPSA具有更易于使用的数据模型(pandas DataFrames而不是numpy数组),支持时变数据输入,并支持使用AC和DC的多重连接网络。 PyPSA使用PYPOWER的一些稀疏矩阵结构。

https://arxiv.org/pdf/1707.09913.pdf

可以用Matlab 里面的simulink

还有Pspice

我用过的就这两种,Pspice简单一些。

仿真软件多得很,一般大学都是要求这两种软件会用。

在 python实现资产配置(1)----Markowitz 投资组合模型 中, 我们已经见过如何使用Markowitz求得最优资产配比. 这是一种在已知未来各资产的概率分布,然后再求解的方法.

Markowitz模型输入参数包括历史数据法和情景分析法两种方法,情景分析法的缺点是主观因素,随意性太强,因此使用历史数据法, 将资产的均值和协方差输入模型是比较常见的作法. 不过, 不足之处很明显: 未来的资产收益率分布不一定与过去相同. 此外, Markowitz 模型结果对输入参数过于敏感.

Black-Litterman模型就是基于此的改进. 其核心思想是将投资者对大类资产的观点 (主观观点) 与市场均衡收益率 (先验预期收益率)相结合,从而形成新的预期收益率(后验预期收益率). 这里的先验预期收益率的分布可以是贝叶斯推断中的先验概率密度函数的多元正态分布形式,投资者的主观观点就是贝叶斯推断中的似然函数(可以看作新的信息, 因为做出主观判断必然是从外界获取得到了这些资产的收益率变化信息), 而相应的, 后验预期收益率也可以从后验概率密度函数中得到. 具体的推导可以看我的这篇文章: 从贝叶斯定理到贝叶斯推断 .

BL模型的求解步骤包括下面几步:

(1) 使用历史数据估计预期收益率的协方差矩阵作为先验概率密度函数的协方差.

(2) 确定市场预期之收益率向量, 也就是先验预期收益之期望值. 作为先验概率密度函数的均值. 或者使用现有的期望值和方差来反推市场隐含的均衡收益率(Implied Equilibrium Return Vector), 不过在使用这种方法时, 需要知道无风险收益率 的大小.

(3) 融合投资人的个人观点,即根据历史数据(看法变量的方差)和个人看法(看法向量的均值)

(4) 修正后验收益.

是均衡收益率协方差的调整系数,可以根据信心水平来判断. 是历史资产收益率的协方差矩阵, P是投资者的观点矩阵, 是似然函数(即投资者观点函数)中的协方差矩阵,其值为 的对角阵, 是先验收益率的期望值.

(5) 投资组合优化: 将修正后的期望值与协方差矩阵即 重新代入Markowitz投资组合模型求解.

(1)定义求解函数,输入为投资者观点P,Q以及目前资产的市场收益率矩阵,输出为后验的市场收益率和协方差矩阵.

(2) 实列分析

我们继续研究 python实现资产配置(1)----Markowitz 投资组合模型 中的五支股票: 白云机场, 福建高速, 华夏银行, 生益科技和浙能电力. 假设现在分析师的观点为:

获取股票数据, 并且获得后验的均值和方差:

这时候,已经可以使用Markowitz模型进行资产的配置. 定义新的函数blminVar以求解资产配置权重. 该函数的输入变量为blacklitterman函数的输出结果, 以及投资人的目标收益率goalRet.假设目标收益率为年化70%,则goalRet = 0.7:

输出结果为:

0-5分别对应上面的五只股票.