美文网首页
深圳车牌竞拍价格估计

深圳车牌竞拍价格估计

作者: chaos_chen | 来源:发表于2020-03-03 14:22 被阅读0次

    深圳车牌竞拍价格估计

    规则

    深圳车牌竞拍总共可以竞价三次,其中前两次竞价的平均价格会公布,我们能不能利用这个平均价格尽可能猜到可以成交的价格是多少?

    现在我有2018年1月至今的24期竞拍数据,这些数据包含:两次竞价的平均价格、平均成交价格、最低成交价格、有效申请人数、参与竞拍的车牌数。那么如何建立模型?

    思想

    假设每期竞拍的价格都符合正态分布,正态分布的均值μ就是竞价的平均价格;如果正态分布的方差φ每期都差不多,那么就能利用方差去估计前x%的价格是多少(也就是能拍到的价格是多少)。

    实现

    先随机生成正态分布方差参数,然后根据均值和方差生成正态分布的数据,最后根据实际成交的价格推算最优的方差是多少:

    def get_esti_fi(average_price):
        # 初始化用来估计的正态分布的 方差参数φ    
        fi_array = []
        for i in frange(0, average_price * 2.5, 1000):
            fi_array.append(i)
        return fi_array
    
    def get_loss(fi_array, average_price, valid_auction_num, transaction_volume, avg_transaction_price):
        target_scale = 0
        loss = 99999999
        for fi in fi_array:
            normals = np.random.normal(average_price*1.08, fi, size=(valid_auction_num,))
            sorted_normals = sorted(normals)
            sorted_normals = sorted_normals[::-1]#降序
            lowest_quoted_price = sorted_normals[transaction_volume]
            if abs(lowest_quoted_price - avg_transaction_price) < loss:
                loss = abs(lowest_quoted_price - avg_transaction_price)
                target_scale = fi
        return target_scale, loss
    

    验证

    拿到估计出来的方差去验证:

    n = min(len(valid_auction_num_history), len(pre_price_history), len(avg_hammer_price_history), len(auction_volume_history))
        print(n)
        fi_results = []
        for i in range(n):
            fi_array = get_esti_fi(pre_price_history[i])
            fi, loss = get_loss(fi_array, pre_price_history[i], valid_auction_num_history[i], auction_volume_history[i], avg_hammer_price_history[i])
            print("no:{0}, fi:{1}, loss:{2}, percent:{3}".format(i+1, fi, loss, float(auction_volume_history[i])/valid_auction_num_history[i]))
            fi_results.append(fi)
        chances = np.reshape(auction_volume_history, (len(auction_volume_history),)).astype(float) / np.reshape(valid_auction_num_history, (len(valid_auction_num_history),)).astype(float) * 100000
        plot(n, 0, avg_hammer_price_history, 0, pre_price_history, 0, fi_results, 0)
    

    结果如下:


    Figure_0.png

    可见预测效果还是不错的

    but

    但是问题来了,这些历史数据其实是竞拍后才能拿到的,在竞拍过程中是不知道总共有多少人在拍的。(只有某些淘宝知道...)
    于是,需要换模型。

    重新看数据

    继续观察历史数据发现,平均成交价格其实和竞拍的人数都没有正比关系,也就是说并不是拍的人多(比例小)价格就高,这样我们的估计还是有可能实现的。进一步观察发现,第二次报价与最终成交的平均价格存在着很强的相关性:


    Figure_1.png

    结论

    可以把数据一分为2看,17年底以前最终成交价格的均价基本就是第二次报价加9千左右。17年底以后,除开18年1月和19年6月两个奇点,成交价格与第二次报价的差值不断下降:


    Figure_2.png

    结合前面计算过的方差值一起看,方差是不断下降的:


    Figure_4.png

    17年底以前方差高,估价差值低,说明大部分竞拍者是抱着试试看的心态,出价甚至比第二次公布的报价低;真正想要的竞拍者不多。
    18年后投机者变少,高价竞争者也在变少,可能也预示着经济环境在变差,或者大家对于电动车的接受度越来越高。

    预测

    预测2020年第3期车牌价格变化不大,竞价比第二次报价高出1.2w就能拍到牌了

    相关文章

      网友评论

          本文标题:深圳车牌竞拍价格估计

          本文链接:https://www.haomeiwen.com/subject/jgtmkhtx.html