python - 如何在 Python 中找到两个市场参与者(企业设定价格和政府设定消费税)的市场均衡?
问题描述
我试图在具有给定需求函数的市场中找到均衡,公司最大化其利润,政府设定消费税以最大化税收收入。我为公司和政府用来最大化他们的利润/税收的最大化问题编写了代码。现在我不确定下一步是如何找到平衡。谁能帮我下一步?
我想我必须定义一个固定点并用它来解决平衡问题。在我大学的课程中,我们这样做只是为了与多家公司达成古诺均衡。在这种情况下,我不确定如何在公司和政府设定消费税的情况下做到这一点。稍后我想在模型中添加第二个产品(替代品或补充品),但我需要首先根据最佳响应来弄清楚如何在这个更简单的模型中求解均衡价格和消费税。
这是我编写的代码,我正在寻找下一步以根据他们的最佳响应解决均衡价格和消费税。
from scipy import stats, optimize
alpha1 = 10
beta1 = -0.5
c1 = 0.5
def Q1(P1,t1):
return alpha1+beta1*P1*(1+t1)
def profits1(P1,t1,c1):
return Q1(P1,t1)*(P1-c1)
def taxes(t1,P1):
return Q1(P1,t1)*P1*t1
def reactionfirm1(t1,c1):
P1 = optimize.fminbound(lambda x: -profits1(x,t1,c1),0,100)
return P1
def reactiongovernment1(P1):
t1 = optimize.fminbound(lambda x: -taxes(x,P1),0,100)
return t1
用笔和纸解决这个问题得到 t1=3.73 和 P1=2.36(都是四舍五入的)。
用笔和纸解决它,我首先找到公司和政府的最佳反应。对于公司而言,最好的响应是通过对 P1 取利润函数的一阶导数,将其设为 0 并将 P1 写为 t1 的函数。这使:
P1 = (10.25+0.25t1)/(1+t)
类似地,对于政府的最佳反应,可以通过对 t1 取税收收入的一阶导数,将其设为 0,并将 t1 写为 P1 的函数,得到:
t1 = 10/P1 -0.5
要找到 P1 和 t1,您可以将 t1 插入 P1 或将 P1 插入 t1 并求解。
所以我将 P1 插入 t1 以获得:
t1 = (10+10t)/(10.25+0.25t) -0.5
这给出了 t1 = 3.73
通过将 t1 = 3.73 插入公司的最佳响应中,我得到 P1 = 2.36
我希望用 Python 做的是计算和解决公司和政府的最佳反应,以找到 t1 和 P1。因为我想扩展模型,这使得用笔和纸求解变得更加复杂。此外,通过在 python 中使用它,更改参数 alpha1、beta1 和 c1 以查看最佳 P1 和 t1 如何变化会更容易。
解决方案
推荐阅读
- clojure - 如何在 Clojure 中实现并行逻辑或提前终止
- c# - 在 ASP.NET Core API 中验证格式无效的值
- python - 为什么这段代码会生成多个文件?我想要 1 个包含所有条目的文件
- corda - 我是否能够序列化 Transaction Builder 以将其发送给另一方?
- java - BluetoothAdapter.getBondedDevices 虽然已配对但返回零设备,为什么?
- c++ - 从 clang-tidy 分析中排除头文件
- java - AWS 网络负载均衡器 (NLB) 是否支持 ALPN?
- mocha.js - 如何在 Mocha 测试中添加自定义成功消息?
- xml - 在 VB6 中替换 XML 节点中的值
- vue.js - Vue 中的 Matomo 标签管理器实现