liujia 发布的文章

城西街的一间砖木老屋

下午跟朋友逛和平街。和平桥那头的老街,比平常热闹,有穿着时髦的年轻姑娘,有带着小孩的父母。朋友带着我,折进了城西街。一进来,路旁的一栋砖木结构、有二层的老屋吸引了我。

老屋正面自下而上有三种颜色:齐木窗高的苔藓浅绿色、比门稍高的白灰色和屋棚高的黄灰色。令我感叹的,是从屋子两边伸出的木梁托住了一个用方板拼成的“阳台”。“阳台”几乎没有栏杆,放着一堆叠起的四个箩。箩筐以前是个很实用的好东西啊,能装谷子、能装蕃薯片、又能装泥豆(花生)。要把箩装满、装实,曾是农村人辛勤劳作的动力。看到这样的老屋,我很高兴,所以拍了两张相片。但联想到前几天看那部被下架的电影,又有些伤感。电影描述的是西部的农村生活,最后主人公辛苦垒出来的泥砖屋,被先进的推土机给推平了。

sh_chen-xi-ni-zhuan-wu-1.jpg

用电脑摄像头照人像,OBS Studio 推流, nginx 作流服务端,直播

需求:想让别人看到我在电脑上的操作界面。

步骤:

  1. apt install libnginx-mod-rtmp # 在debian 11里安装nginx的rtmp模块
  2. 在合适的位置,如nginx.conf文件中,添加以下内容,目的是启用rtmp直播及hls

    rtmp {
    server {
        listen 1935;
        application live {
            live on;
            interleave on;
    
            hls on;
            hls_path /var/www/hls;
            hls_fragment 15s;
        }
    }
    }
  3. 添加相关的站点设置内容,如:

    server {
        listen 443 ssl http2;
        listen [::]:443 ssl;
    
        ssl_certificate           /etc/nginx/ssl/fullchain.cer;
        ssl_certificate_key       /etc/nginx/ssl/anqun.org.key;
    
        server_name hls.anqun.org;
        root /var/www/hls;
    }
    
    server {
        listen 80;
        listen [::]:80;
    
        server_name hls.anqun.org;
        return 301 https://$server_name$request_uri;
    }
  4. 下载ckplayer,放到站点目录中,添加 index.html 文件,内容如下。其中kf.m3u8是obs直播时推送的串流密钥

    <html>
    <head>
        <link rel="stylesheet" type="text/css" href="ckplayer/css/ckplayer.css">
        <script type="text/javascript" charset="utf-8" src="ckplayer/js/ckplayer.js"></script>
    </head>
    <body>
        <div class="video" ></div>
        <script type="text/javascript">
            //定义一个变量:videoObject,用来做为视频初始化配置
    var videoObject = {
    container: '.video', //容器的ID或className
    live:true,//指定为直播
    plug:'hls.js',//使用hls.js插件播放m3u8
    video:'/kf.m3u8'//视频地址
    }
    new ckplayer(videoObject);
        </script>
    </body>
    </html>
  5. obs的“推流”设置:服务器为“rtmp://hls.anqun.org/live”;串流密钥为“kf”(这里是测试,所以密钥设置得很简单)
  6. 如果顺利,用vlc播放器可以直接播放rtmp://hls.anqun.org/live/kf 的网络地址;其它端可以通过浏览器访问https://hls.anqun.org 播放
  7. 本地测试,浏览器播放约有1分钟的延迟

dn_obs-live_1.png

dn_obs-live_2.png

参考:

用jq程序提取中国理财网站上的产品历史净值数据

我的眼睛不好,看手机屏幕五分钟以上就会眼花,视力减退。平时我尽量少地使用手机,能在台式电脑上操作的,就不在手机里操作。奈何现在各部门、各公司都在想尽办法将用户引到手机上操作,如京东手机app上可以领到的优惠券,电脑版里没有。以前,我的手机每充一次电,能用2~3天,因为我很少用手机。但最近不行了,因为我在“微众银行”上买了银行的理财产品。买之前要看产品的介绍信息,买了之后时不时要看它的涨跌幅。随着买到的理财产品越多,我看手机的时间也越来越多。这时,我发现我的视力明显下降了,我认不出迎面走来的邻居了。

我曾咨询过微众银行的工作人员,他们说只有手机app,没有电脑版,所有的信息浏览、交易等等操作,都必须在手机app里完成。手机是一个很好的身份验证工具,这个我认同。但将产品信息仅限制在手机端操作,我就很不理解了。因为电脑的屏幕比手机的屏幕大几十倍,单单查看文字、图片等信息,看电脑屏幕远比手机屏幕舒服。能否让用户按需使用最顺手终端来浏览信息呢?微众银行当然说“不”。或许,从商家的角度来看,手机app能更稳更牢地“捆绑住”用户吧。

我只好自己想办法了,目标是能在电脑里查看银行理财产品的历史净值数据。经过约两周的实践,大概有这样的思路。举例,微众银行app上有卖“信银理财 安盈象强债稳健六个月持有期1号”的产品,那么我们先搜索到这个产品在“中国理财网”的产品编码(Z7002621000234),再以这个产品编码查询到它登记到“中国理财网”的ID(2165077),之后用产品的ID查询到产品的历史净值趋势数据,最后用jq的程序提取出日期和对应的净值数字,汇出到csv表中。

我们需要先验证脚本生成的csv表的净值是否正确。拿2022-08-24的净值1.025为例,对比信银理财官网发布的pdf文件,相符。有了正确的、完整的历史净值表,就可以用电脑的表格程序计算很多参考的指标数值了,如最近一个月、三个月的年化收益率、指定时间区间的年化收益率最大数、最小数和中位数等;也可以将这些参考的指标数值绘出折线趋势图等。在电脑上重新绘出的图,可以放得很大,方便查看,比在手机app上查看灵活得多。

缺点是:不是所有份额的理财产品都有在“中国理财网”上登记。以“信银理财 安盈象强债稳健六个月持有期1号”为例,它在微众银行代销的是B类份额,“中国理财网”就没有相应的历史净值记录。

图1:用脚本查询“中国理财网”的产品历史净值csv表

图2:计算净值的涨跌幅

图3:计算最近一个月、三个月、六个月的年化收益率

图4:计算一个月、三个月、六个月内年化收益率的中位数、最大数和最小数

图5:绘出“日期”和“净值”的折线图

m2.sh 内容:

#!/bin/bash

# 输入理财产品编码,获得产品的ID
wodebm=$1
echo $wodebm
wodecha=$(curl -d "cpdjbm=$wodebm" -X POST "https://www.chinawealth.com.cn/LcSolrSearch.go" | jq -r '.List[].id')
# wodecha=2165077
wodecha=$wodecha
echo "2 $wodecha"

# 以产品的ID查询理财产品的净值表
myfile=$(curl -d "method=cpjztrend&cpid=$wodecha" -X POST "https://www.chinawealth.com.cn/lccpJzcpServlet.go")

# echo $myfile | jq --raw-output '."'"$wodecha"'"[].zjkfzqjsr.time'

# 将获得的产品净值表,用jq程序处理:先转换时间,再提取出时间和与对应的净值数字,最后以csv文件格式保存
# echo $myfile | jq --raw-output '."'"$wodecha"'"[].zjkfzqjsr.time|= (tonumber|. / 1000 + 28800 |strftime("%Y-%m-%d"))'
echo $myfile | jq --raw-output '."'"$wodecha"'"[].zjkfzqjsr.time|= (tonumber|. / 1000 + 28800 |strftime("%Y-%m-%d")) | [."'"$wodecha"'"[] | {date: .zjkfzqjsr.time, nav: .cpjz}] | (map(keys) | add | unique) as $cols | $cols, map(. as $row | $cols | map($row[.]))[] | @csv' > $wodebm.csv

参考:

为何下载银行理财产品的历史净值表这么难

某天,吖江约上东山岭。碰头时,我看到吖江手里拎了个胶袋,有点好奇,不知道里边装了什么。上到顶,有个平台,平台立着一张石圆桌,圆桌四边还有石凳。

我在平台上大概走了一小圈,缓缓气后就话,“走”。
“慢”。吖江应声。
“做惹?”我瞄了一下他。
“算下‘二十四’来”。吖江的一只手,拢进胶袋,拿出一副牌。
“哈?”我懵了,以为上次吖江只系随便讲下。不曾想到,佢真有闲情在东山岭顶打牌,算二十四点。

“算二十四点”的玩法是,俩人各分一半的牌(数),然后随机各自出两张牌,看谁先将四张牌的点数用“加减乘除”法凑成二十四,如3乘8得24、12加12得24。输的一方要收回四张牌。最后看谁手上的牌少,谁就是最终赢家。

分牌时,我心里打起了小咚鼓,因为我看到吖光仅从牌盒中拿走两张鬼(牌)。“10是10点、J是11点,Q是12点,K是13点。”果然,吖江将这些人像牌也作为计算的底牌。我数学不好的,单张牌最大点数是9的话,还勉强可以应付。现在有K等,让我觉得心算的难度上了不止一个台阶。牌未开,我信心就削了半截。想到读小学时,我是被留过堂(课),罚背乘法表的。不出所料,强行上阵的我,几个回合后,连续收了好多张牌。我算不过吖江,难免吃败仗。

上山回来后,我还在想怎么能更快、更多则地算“二十四点”。突然联想到,我最近买“银行理财”产品,买到后它就跌,是不是也与我数学不好有关?我选择理财产品,是看它显示的年化收益率。如在“微众银行app”上的产品,“信银理财 安盈象强债稳健六个月持有期”,显示是“4.67%”的年化收益率,大大的红色字体,很能吸引人的眼球。收益率下边的,用小字写着“近六个月年化收益率”。我好奇,点了小字旁边的小箭头图标,切换显示到“近三个月年化收益率3.08%”、“成立以来年化收益率4.76%”。我想啊,如果它默认显示的是“近三个月年化收益率”,就是最低的那个3.08%,可能我就滑过,不对它有购买的兴趣了。顿时,我觉得我从“微众银行app”上读到的信息是被“筛选”、“美化”过的。在狭小的手机屏幕里,展示的信息有限,要是我有一份这个理财产品的历史净值表数据,那我不就可以计算出各个指定时间区间的年化收益率,以帮助我判断这个理财产品合不合适购买。当前,顺手的计算工具是电脑的表格程序,如excel表。要是他们能提供产品的历史净值excel表或csv文件,那该多好啊,我能直接复制到表格里套上公式计算了,省事省力。

我先在“微众银行app”查看某个理财产品的历史净值。产品的页面默认仅显示最近一个月的单位净值,要点“查看更多”,才能看全些。如果这个产品是每个工作日都会公布当日净值的,那么要滑手机屏五、六次才能看到近半年的净值数字。如果页面的数据多,“微众银行app”还会突然退出,要重新点开app。总之,我在“微众银行app”翻了好久,没有找到下载或导出产品历史净值文件的功能。

然后,我在网上搜索“理财产品历史净值”的关键词,发现产品的发行人,即银行理财子公司的网站有公布产品的净值,但那是当天或最近一个周期的净值,不包含之前日期的净值。我先后打“南银理财”和“华夏银行”的客服电话,她们都说目前没有在网上发布完整的历史净值文件。我又想到,“中国理财网”是官方的,这个监管银行理财产品的网站,会不会有产品的历史净值数据呢?我打开网站一看,真的有。我高兴了一下,但马上又失望了。因为“中国理财网”展示的是产品历史净值的折线图,不是原始的数据。并且难以理解的是,“中国理财网”对产品展示的页面做了限制:不允许用鼠标选中和复制内容。顿时,我由失望变成恼怒了:银行理财产品是你们要求改成净值化、不保本这样运营的,为什么现在连产品最重要的、最基本属性的“净值”数据都不对大众开放?如果我们要自己计算收益率,只能用纸和笔,一个数值一个数值地从手机app里抄下来吗?既然把银行理财产品放到市场里给大家买,为什么又要这么遮着掩着?

“算二十四点”,对于多数普通人来说,可能就系在四张牌中用不同的算法“组合”成二十四点。因为牌点总共才13张,常常练,每天算来算去,也会慢慢熟悉的,知得哪些牌组成二十四点的可能性较大。如此一来,就是数学不及格的我,凭着记忆力,也能对付对付。同理,银行的理财产品,如果每个用户在购买之前,能看到原始的历史净值,能根据自己的需求生成图表和算出参考指标,应该能做出符合自已实际情况的判断,最后决定买不买。便捷的、原始的、完整的历史净值数据,也能反映出理财产品发行人的管理能力,有利于市场的竞争。如果理财产品的代销机构、理财产品的发行机构、理财产品的监管机购没一个能提供可方便用户计算的历史净值数据表,那么就是在“二十四”的游戏中不给看底牌,不讲解怎么算得二十四点,没得玩。

微众银行 - 信银理财 - 多彩象大中华固收稳健月开2号 - 购买后99天赎回 - 到手年化收益率约 3.04%

我在微众银行购买的“信银理财多彩象大中华固收稳健月开2号”产品,2022-09-15赎回到账。持有99天,计得实际年化收益率约3.04%。购买时净值:1.0056;赎回时净值:1.0138。

评价:不太像月开产品的收益率,同期横向对比,月开的产品可能有4%。