首页 > 解决方案 > 如何在 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 如何变化会更容易。

标签: python

解决方案


推荐阅读