Life Log

I am a coder ~

0%

开始

双十一买了个W806的板子,很便宜,可以ISP刷程序,其实平时够用,但是还是感觉有调试的感觉不错。

制作

工具地址 https://github.com/henrycoding/cklink-lite

SDK(选择T-Head): https://occ.t-head.cn/community/download?id=616215132330000384

群里面有CKLINK_LITE的固件,其实直接烧录到STM32F103就ok了,我这里用J-Flash烧录,烧录步骤如下

  1. Target Interface选择SWD,CPU选择Device,然后按三个点选STM32F103RC
  2. Connect, Erase Chip, Program and Verify
  3. 拔掉SWD调试器,然后将STM32F103的USB接口接到电脑上

问题

连上电脑以后设备管理器显示设备,但是T-HEAD-DebugServer死活没法链接成功,打开 DebugConsole,提示如下

由提示可知是USB的问题,使用Zadig工具替换驱动即可解决问题, 替换的时候首先点Options -> List All Devices,
然后选择C-Sky开头的,驱动选 libusb-win32 ,然后点击Replace即可

,

替换完成后,再次打开T-head-debug-server, 即可

,

特别注意,线的链接顺序

STM32 W806
A0 RST
A1 PA1
A5 PA4
3V3 3V3
GND GND

今天上午操作了林洋能源,恰好卖在了最低点,分析一下其实可以知道,当时的心情就是为了止损,止损5%,但是午盘收回,其实还是那句话,上午逢低要加仓,下午逢高要减仓。上午跌的,下午一般可以拉回来一些, 因此上午的时候不适合止损,目前还是按照这样的交易系统进行执行吧。

除此以外感觉还是学习一些统计学的东西比较好,趁着这个机会。

1.“平均”的意义。

平均是一种统计意义上的“概况”,是反映大多事物所处的状态的一种很好的表示。

最简单的平均

Mean=1ni=1nxiMean = \frac{1}{n} * \sum_{i=1}^{n}x_i

其实大多数情况下这种平均就可以满足要求,例如我们的平均成绩,平均时间复杂度等等。
所谓的5日线,10日线,20日线都是5日,10日,20日内的滑动平均值。我认为均线的作用是反映大家买入的价格趋势的一种指标。

加权平均

有的时候数据可能不同等重要,因此需要体现数据的差异性。

WeightedMean=i=1nwixii=1nwiWeightedMean = \frac{\sum_{i=1}^nw_i * x_i}{\sum_{i=1}^n w_i}

指数加权平均

对于时间序列来说,可能远古的数据对现在的意义要大于昨天的数据对现在的意义,因此在加权的时候也需要进行区别对待。因此有了指数型加权,EWMA,但是EWMA的定义是递归定义的。

EWMAt=(1α)xt+αEWMAt1EWMA_t = (1 - \alpha)x_t + \alpha EWMA_{t-1}

可以看出这是通过 α\alpha 来权衡(trade-off) , 在EWMA里面数据被分为两类, 一类是上一个数据, 另一类是 先前数据的EWMA值。之所以叫做指数平滑,是因为将公式展开以后

\begin{align*} EWMA_t &= (1 - \alpha)x_t + \alpha [(1 - \alpha)x_{t-1} + \alpha ((1 - \alpha)x_{t-2} + \alpha EWMA_{t-2})] ... \newline & = (1 - \alpha)x_t + \alpha(1-\alpha)x_{t-1} + \alpha^2 EWMA_{t-3} ... \newline & = \sum_{k = 0}^{n} \alpha^k (1-\alpha)x_{t-k} \end{align*}

这里n为区间长度,即指数平均的长度。因为$ \alpha \in [0, 1] ,, 所以k$越大 αt\alpha^t越小, 因此体现了这种时间在里面的差异性—— 越接近现在的值越重要

这里出现了MACD的概念

MACD的定义是

\begin{align*} DIF &= EWMA_{(收盘,12)} - EWMA_{(收盘, 9)} \newline DEA &= EWMA_{(DIF, 9)} \newline MACD &= (DIF - DEA) * 2 \end{align*}

关于MACD的一点记录:

  1. DIF绝对值大小,代表着长短期均线距离(开口)的大小。当12日均线在26日均线之上时,股价处于上升状态,DIF在0轴之上;当12日均线在26日均线之下时,股价处于下跌状态,DIF在0轴之下。

  2. 只有股价未来继续延续上涨,金叉这个买入信号才成立。如果未来股价下跌,金叉就是假信号。也就是说,在趋势行情中,金叉与死叉是有效的买卖信号,但在震荡行情中,金叉与死叉基本上都是假信号。

  3. 由于是均值,而且是长周期均值和短周期均值进行计算,所以说有一定的滞后性

参考资料

  1. https://corporatefinanceinstitute.com/resources/knowledge/trading-investing/exponentially-weighted-moving-average-ewma/
  2. https://zh.wikipedia.org/wiki/指数平滑移动平均线
  3. https://www.zhihu.com/question/29954111

好久没有炼丹了, 感觉想炼丹玩玩,但是感觉有好多的Bug,距离成长为一个炼丹师还有很长的距离。
此次炼丹遇到了一些问题, 感觉还是有很大的参考意义的,现在记录一下。

网络模型用的是 torchvision中的Vgg

1
2
3
resnet = resnest50(pretrained=True)
vgg = vgg19_bn(num_classes=1000, pretrained='imagenet')
net = Sequential(vgg, Linear(1000, 500),Linear(500, 1), nn.Sigmoid())
  1. PyTorch里面的ImageFolder,进行数据加载的时用到了transform, 里面有一个to_tensor, 这里面的数据其实是进行了Channel归一化的, 并进行了一些数据通道的转置,因此在推理的时候也需要用to_tensor把image转成tensor,这也间接的回答了一个问题: 训练数据和推理数据必须是一致的,维度、范围也要一致, 对数据的归一化在推理的时候也要进行归一化
1
2
3
folder = ImageFolder(f'./data/train',
transform=transforms.Compose([transforms.CenterCrop(400), transforms.ToTensor()]))
data_loader = DataLoader(folder, batch_size=4, shuffle=False)
  1. 数据增强。因为本身数据集就是从百度爬取的, 数据集质量本身就不是很好,因此需要对数据集进行数据增强。数据集增强有很多的方法,包括平移变换,伸缩变换,随机剪裁,亮度变换,色彩变换等。

  2. 二分类问题可以用BCELoss进行, CrossEntroyLoss 可能效果不是很好。

  3. 预训练模型在本任务中效果一般,不知道是为啥, 在分类效果不好的时候,尝试扩大数据集。

其实这次实验主要说明了数据集的处理对结果是十分重要的, 所谓的人工智能其实还没有那么智能,只能识别固定的数据集里面有的模式,不会自己进行所谓的自动学习, 因此对数据的对数据的清洗和加工,以及数据的增强,其实对实验效果的影响十分的大

2021年11月09日午盘,上证指数收3492.46点。盛剑环境股票异动拉升,14:16 股市快照显示 1039手 一次性拉到涨停, 然后7900手封单, 随后封单急剧下降, 然后没忍住, 就出手了。出手后第二天,上涨 4%, 是一次失败的清仓经历。

其实还是因为当时盯盘,看着觉得马上要烂板了, 所以就出手了。 但是这笔交易不应该做,其实主要的原因分析为:

  • 当天上证指数收红,其实市场的赚钱效应还是特别好的, 特别是股票没什么跌停, 感觉整体市场氛围很不错。
  • 公司基本面没有任何问题,盘中同花顺推送 《“十四五”全国清洁生产推行方案》, 这个本身对于盛剑环境的废气治理是一个大利好。
  • 当天整个环保板块涨幅明显, 所以回踩不会很厉害
  • 主力多天洗盘,获利盘其实已经很少了, 虽然有抛压, 但是抛压不算很重, 特别是主力今天做多的意愿很强烈,一下子1039单吃掉空盘,强势涨停

直到写文章的时候,收盘涨幅4%, 最高涨幅7%, 是一笔失败的交易。今日(2021年11月10日)本想追涨还是忍住了自己, 这个是可以的, 追涨杀跌要不得, 还是冷静思考, 如果当时追涨收盘亏损2%。

对于整体大盘来说,年趋势还是有的, 特别是感觉2022年可能还是有泡沫能出来,能否进入泡沫然后全身而退, 这对交易能力也是一个考验。去世的那个友人曾经预言过明年上证能到6000点, 毕竟疫情,全球经济萎缩, 美国QE, 这些外部环境也可能有推高估值的可能, 可能又是一轮新的泡沫吧。

那不如从现在开始练习吧, 加油, 目前还是有一定的盈利的, 而且前期基础打牢,目前能够应对一波股市下跌了。

最后,想对自己说,

  1. As long as a stock is acting right, and the market is right, do not be in a hurry to take profits. (只要股票还在赚钱,市场还是如期,不要着急回撤利润)
  2. End trades when it is clear that the trend you are profiting from is over. (当你获利的趋势结束的时候,一定要终结交易)
  3. Don’t listen to tips. (不要听从他人的意见,独立思考)
  4. Only enter a trade after the action of the market confirms your opinion and then enter promptly. (当市场验证了你的观点的时候, 立马进入市场)
  5. Markets are never wrong – opinions often are。 (市场永远是对的,但人不回会)
  6. 钱乃身外之物, 亏赚看平。

早上起来的时候就是9点25了, 看了一眼竞价情况, 楚江低开, 盛剑高开,萌生了楚江做T的想法, 开盘后发现开始急速拉升, 追涨,最后被埋。然后跌下来以后,低位又加一手, 这手加的还不错,收盘没亏钱。

楚江被埋以后,想到昨天看过的陕鼓动力,又开始了加仓的想法, 继续追涨被埋。

盛剑环境一直看着,没敢动

分析一下自己被埋的原因,其实还是有追涨杀跌的因素在里面的,特别是急速的拉升,主力扫货以后可能不急于二次拉升, 而是进行一部分量的出货和倒手,因此冲高的时候要减仓,虽然这很反人性,但是确实是多次亏钱的原因,以后要注意。

楚江新材这次加仓的理由是,站稳5日线,不过楚江今天的加仓我倒是不担心, 因为无量,像是主力进行的洗盘操作。如果后续跌破5日线,我就杀跌了, 先减仓观望, 待涨。

陕鼓动力其实有赌的成分,公司技术面可以,大盘今天红了,无量洗盘, 但是所有的短线均线都破掉了, 只能等着几天的横盘来进行修复了, 120日均线10.54, 如果继续下跌接近这个线的话杀掉,不过我还好,就1手, 其实还是学习状态,再也不敢满仓了。

北交所15日开市,北上资金今天来抄底, 大盘有反弹但是量还是有点小, 不过趋势应该是有了, 昨天金针探底, 今天反弹, 说明跌不下去了, 感觉放量的反弹指日可待。

今日浮亏 41, 还可以。

Hello, 2021程序员节

之前写过好多的博客,用过asp的博客程序,还有php的emlog和wordpress, 以及其他的一些博客程序,苦于自己没钱,服务器都没有续费,因此很多数据也都没有保存下来。最近看了GitHub的Pages,不错,安排上。正好我的.me域名备案被取消了,国内的主机也绑定不上了,那就绑定到GitPages上吧 ~

希望可以把一些感悟和技巧记录下来,以便以后查阅 ~