Reading view

There are new articles available, click to refresh the page.

RichCalls Warden 使用指南

引言

Warden 是我开发的一套用于帮我们美股止盈/止损的工具,它可以帮助你在美股交易中更好的控制风险。帮助你守住利润,避免亏损。

官网是 https://warden.richcalls.xyz/,使用 Google 账号登录即可使用。目前内测版本,内测期间免费使用。

配置账户

登录之后在菜单栏选择「账户管理」,然后添加账户就可以了。目前只支持长桥证券和富途证券。而且只支持美股。

长桥证券

长桥访问 https://open.longportapp.com/ 登录之后去个人中心获取 API Key 和 Secret 等信息,然后填写到 Warden 中即可使用了。

富途证券

由于富途证券的 API 的使用方式问题,这里想使用富途证券的用户配置好信息之后,需要联系我,我需要手动另外在配置一下才能使用。

需要说明的是:

  • 配置的时候需要输入登录密码的 MD5 值,可以使用 https://www.cmd5.com/ 获取到密码 MD5 加密之后的值,复制过来就可以(如下图)。

  • 解锁密码同登录密码一样也是 MD5 加密之后的值。

账户使用说明

账户默认是开启状态,并且开启了 Test Mode(测试模式)。测试模式,开启之后会无视市价单,所有的订单买入的时候提交的是 0.01 ,卖出的时候是 999.00 的限价单。这样可以避免在测试的时候买入卖出真实的股票。

测试之后可以关闭测试模式,这样就可以正常的买入卖出股票了。

Webhook 请求只会处理 Active 状态的账户,如果你不想使用某个账户了,可以在账户管理中关闭这个账户。

系统使用说明

结合 TradingView 实现自动交易

这是本系统的核心功能,你可以在 TradingView 上配置警报,然后在 Warden 中配置好账户之后,就可以实现自动交易了。

具体步骤:

先去 Warden 系统的个人设置中获取到你的 WebHook Url,这个 Url 是用来接收 TradingView 的警报的。不要泄露给别人。

然后在 TradingView 中配置警报,在「通知」中填写你的 WebHook Url,然后就可以了。

说明一下:

  • 图上的条件就是你的策略,这里可玩性非常多,你可以自己划线,然后创建报警;你也可以使用 MA、EMA、BOLL、RSI 等指标来创建报警。至于怎么玩,完全取决于你的策略。
  • 消息需要是 Warden 系统的一种固定格式,你需要做什么操作,完全取决于你的消息内容。
  • WebHook Url 是你的 Warden 系统的 Url,不要泄露给别人。

WebHook 消息格式说明

1
2
3
4
5
6
symbol: NVDA240823C115000
pos: 1
qty: 1
side: BUY
order_type: LO
price: 0
  • symbol 股票或者期权,必选参数;在卖出的时候,期权代码支持模糊匹配。示例:
    • NVDA240823C115000 代表想操作 NVDA 2024 年 8 月 23 日到期的 115 美元的 Call 期权。
    • NVDA* 代表想卖出所有的持仓期权,只能搭配市价单和卖出使用。
    • * 代表清仓,需搭配市价单和卖出使用。
  • pos 仓位占比,卖出的时候可选参数; 当有此参数的时候会忽略 qty 参数,示例:
    • 1 代表卖出全部持仓,
    • 1/2 代表卖出一半持仓,
    • 1/3 代表卖出三分之一仓位。
  • qty 数量,必选参数,除卖出有 pos 参数外,其他都需要此参数
  • side 方向
    • buy 买入
    • sell 卖出
  • order_type 订单类型
    • lo 限价单
    • mo 市价单
  • price 价格,市价单会忽略此参数。

另外说明:

  • 所有参数无视大小写
  • 所以订单都是当日有效
  • 目前只支持美股,不支持其他市场

期权计算器

为了方便大家获取到期权的标的代码,我在系统中加入了期权计算器,你可以输入你想要的期权的条件,然后就可以很方便的获取到期权的标的代码了,方便你在 TradingView 中配置警报的时候使用。

一键清仓

除了给系统发消息实现一件清仓之外,我在账户管理中加入了一键清仓的功能,你可以直接在账户管理中点击一键清仓,就可以清仓所有的持仓了。

当然清仓之前会有一个确认的弹窗,避免误操作。

定时交易

由于期权不能盘前和盘后交易,所以我开发了这个功能,如果你不想期权过夜,可以使用这个功能帮你在交易日结束之前卖出期权。

Webhook 日志

在系统中有一个 Webhook 日志,你可以看到系统接收到的消息,以及处理的结果。这样你就可以知道系统是否正常的接收到了消息,以及是否正常的处理了消息。

最佳实践

这套系统最主要的目的是给大家做止盈止损的,有时候我们明明知道跌破了支撑,但是却缺乏执行力,怎么办?提前设置好止损,然后就可以放心的等待系统帮你卖出了。

比如下面一些场景

日内期权操作

跟着信号买入动能股的期权,当股票启动的时候迅速设置好止盈止损,然后就可以放心的等待系统帮你卖出了。

我这里使用了 3 分钟的 VWAP 作为技术指标,当股票下穿 VWAP 的时候就是一个卖出信号。

除了 VWAP 指标只外,你还可以用道氏理论画出支撑和阻力线,然后设置止盈止损。

一键清仓

QQQ 如果跌破 MA20,那么其实就是一个非常糟糕的信号,这个时候一般还会继续跌,有时候你可能会犹豫,下不去手清仓,这个时候我们需要在 TradingView 中提前设置好警报,然后 Warden 就会帮你卖出了。

如果你想一键清仓,消息的格式就是:

1
2
3
4
symbol: *
pos: 1
side: sell
order_type: mo

如果你想所有的持仓都卖出一半,那么消息的格式就是:

1
2
3
4
symbol: *
pos: 1/2
side: sell
order_type: mo

除了使用 * 代表清仓,还可以使用 NVDA* 代表清仓 NVDA 的所有正股和期权。

除了使用 QQQ 跌破 MA20 作为清仓信号,你还可以使用其他的指标,比如 SPX 跌破某个值等等。

最后

这套系统我目前只花了 2 个周末时间开发,还在不断的完善中。

如果你有什么好的建议或者想法,欢迎加我微信 ipzone 加项目群交流,申请加好友请备注 Warden

家人被诈骗了

引言

一个非常让人心痛的事情发生了,家人被诈骗了,从来没觉得诈骗离自己这么近。

这是一个非常痛苦的经历,我希望通过这篇文章来分享一下这个经历,希望能够帮助到更多的人免于受骗。

事情的经过

成为诈骗对象

他在富途上评论了某个股票,然后被人加了好友,然后私聊。刚开始就是闲聊,后面以发送一些电子书为由,让他加了 telegram。

刚开始也是闲聊,他也很少回复,但是只要是有回复,其实就有希望上钩,对方打感情牌,诈骗犯给自己设立一个很有好的形象,人在美国,有钱有闲,炒股炒币经验丰富。

上钩

wZeFze

闲聊了几个月之后,对于开始说自己在炒币赚钱,炒股赚钱太慢了,然后以「自己也是交易,带你也无妨」,然后就开始了,还以为自己遇到了一个贵人。

他刚开始也是不放心,也不是很懂币圈,但是那个贵人真得很有耐心,手把手教他怎么操作,然后就开始了。

先跟他说「我们用的是 Crypto.com,这个是一个很大的交易所,你可以去查一下」,其实用的是 Crypto Defi Wallet,然后在 Browser 里面输入一个网址,这个网址是一个场外的交易所,小白哪懂这些,跟着操作就行了。

刚开始也不是很信任这个网站,但是贵人带了他走完了一边流程,即转入一笔小额资金,然后买入一些币,赚到了一些钱,然后提现成功,整个流程很顺利,然后就放松了警惕。

PS: 图片上面的网址你不用刻意去记,因为他们过一段时间就会换一个新的网址。他们之前是 https://cryptodefibtc.com,后面改成了 https://www.bootcovenant.com/

疯狂的入金

得到你的信任之后,贵人就开始怂恿你多入金,这样就可以多赚一点,这个假的交易所玩的是交割期权,60s 的那种,贵人带你赚钱,不要太简单。在贪欲的驱使下,他就开始四处筹钱,甚至借了银行贷款,几天功夫就赚了 3 倍的资金,贵人也觉得差不多了,可以让他提现了。

提现失败

9s4buy

提现的时候,交易所客服说要交一笔手续费,核算下来要叫 13 万港币,当时还以为是提现的方式不同,所以要交的,而且当时想着提现的金额比手续费要多很多,这点手续费不算什么。如果一周之内不交手续费,就会有违约金,所以当时还挺着急的。

当时他还沉浸在「财务自由」的喜悦中,还在想这笔钱怎么回国内,怎么花。但是手续费交完之后,客服还依旧让等几天,3 天了还没反应,说是资料审核比较繁琐,要等一下。

紧接着,客服又说要交一笔利得税,需要总资金的 10%,当我知道这个事情之后立马觉得不对劲,当天晚上才问清楚他的整个情况,之前我一直以为他真的是在用 Crypto.com 交易,问完之后才知道他是在一个第三方的交易所交易,根据他这个情况,再结合我在网上找的资料,我 90% 确定他被诈骗了。

意识到被骗

当时他还是不相信,还觉得那个贵人不会诈骗他,要不是真没钱估计也交了。因为没钱交,所以他找贵人借,贵人在借与不借之间犹豫,他找客服要报税档案号想打电话到香港税务局确认,客服迟迟不给,最后还是咨询了税务局,咨询有这种情况吗?人家说利得税是给在香港工作的人交的,建议他报警。

最后估计是确认他被榨干了,贵人这边也把他拉黑了,Telegram 上面的聊天记录也被删除了。从那之后网站的客服也不再回复他的消息。

从这之后,他才意识到自己被骗了,但是已经晚了。

报警

香港税务局回复的邮件有一个报警的网址,在网上报警之后,香港警察主打联系了他,但是我们国内手机根本就接不到香港的电话,所以他也没接到。最后还是通过邮件沟通了,香港的警察还是很积极跟进,要求过去香港录口供。

深圳这边也报警了,但是警察了解情况之后,看你在香港报警了,就建议他去香港处理,深圳都没立案,不过这个事情,汇款都是在香港银行,所以香港警察处理起来会更方便。至于最后能不能追回损失,我也不知道有多大的希望。

总结

网上去搜,这种诈骗的案例还有很多,而且套路都是差不多的,不要觉得《孤注一掷》中的诈骗离你很远。他也从来没想过自己会遇到诈骗。

如何避免这种情况呢?我觉得最重要的是要提高自己的风险意识,其次:

  • 不要轻易相信陌生人,不要轻易加陌生人的微信、Telegram 等社交软件。
  • Telegram、Discord 等社群一律不要跟别人私聊。
  • 凡事涉及到钱的事情要多问几个人,多咨询一下身边的朋友,家人。
  • 你必须接受你不会一夜暴富。
  • 不要相信天下掉馅饼的好事情,想想别人为什么会那么有耐心的教你赚钱,真有那么好的事情让自己遇到了?人家图什么?
  • 炒币炒股一定要去正规的交易所,正规的交易软件,比如欧易、币安等。

外链

相关的诈骗案例:

轻松实现期权交易盈利 2.0 版本

引言

去年中旬我开通了一个期权收费群,已经有很多小伙伴加入过了,详情可以看《轻松实现期权交易盈利》

已经过去半年多了,我们的社区也发生了一些变化,我今天来介绍一下这个群的 2.0 版本,如果你对美股、期权感兴趣,欢迎加入。

变化

沟通方式

之前一直用微信群沟通,但是微信群功能太弱了,开盘期间我会分享一些信号,但是有时候群友需要沟通,沟通消息会淹没信号,很容易让会员错失信号。所以我们迁移到了 Slack,用了几个月下来,感觉很棒。

我曾经工作过的公司用过 Slack 办公,用过之前就真的回不去了,非常适合沟通,效率很高。我曾一直想用 Slack 建立社区,没想到这次居然成功了。

微信只适合闲聊。

会员等级

Slack 有频道的功能,每个频道都可以设置权限以及通知方式,这两个功能非常强大。我们根据此功能设置了会员等级,不同等级的会员可以看到不同的频道,这样可以更好的管理会员。

之前一直只有期权收费档次,但是有些会员可能对期权不感兴趣,所以我们增加了一个股票收费档次,这样可以更好的服务会员。当然股票会员等级,除了没有期权频道权限外,其他服务都是一样的,价格是期权会员等级的一半。

  • 股票:新用户试用 100 人民币 2 周,正式是 50 美元/月。
  • 期权:新用户试用 200 人民币 2 周,正式是 100 美元/月。

策略转变

之前经常带有群友根据我发现的异常期权信号赌财报,赌财报就想着翻几倍,赌输了就归零。但是半年过去了,我觉得这种方式不可持续性,现在我们推荐成员多做趋势交易,在重要事件(CPI/非农数据/财报)之前轻仓,少赌财报,多做趋势交易。

等财报出来之后跟着趋势做也可以赚到钱。

期权跟单

之前只有我一个人发期权异常信号单给大家跟单,最近我花重金买了一个期权跟单服务,多了一种选择,大家可以两个一起跟,赚钱机会更多了。

读书会

授人以鱼不如授人以渔,我们会定期组织读书会,一起读和讨论一些经典的投资书籍,大家一起进步。(目前还在起步阶段)

Crypto 服务

目前也在规划中的服务,BTC 去年的涨幅大家都是有目共睹的,现在没人质疑它的价值了吧?炒币比炒 A 股好多了。

总结

目前社区 2.0 的方式已经运行了有 1 个月多了,效果非常好,另外我们还在不断的完善中,如果你对美股、期权、股票、炒币感兴趣,欢迎加入我们的社区。我们也有免费版的会员等级。

同时也欢迎之前的老用户回归,我们会给老用户一些优惠。微信加我:ipzone,备注:vip

更多

社区详情的介绍文档:《RichCalls Slack 社区开始文档》

2023 年终总结

引言

今年初一,终于有时间写年终总结了,2023 年可能是我人生中最重要的一年,这一年我升级为爸爸了,而且我的职业也有了一些变化,虽然不知道接下来的路会怎样,但到目前为止,我还是很满意的。

回顾 2023

生活

7 月我的女儿出生了,从此之后我的生活发生了翻天覆地的变化,我开始学习如何照顾孩子,学习如何做父亲。在赚钱的同时,我还要兼顾家庭,但是时间有限,我必须学会如何分配自己的精力,寻找平衡。

这一年中比我更辛苦的是老婆,不管是生孩子还是后面带孩子,她投入了全部的精力,她真的是太辛苦了,我很感谢她。

老婆怀孕 8 个月之后还好有丈母娘过来帮忙,帮了我们 7 个月,真的是太感谢了。特别是宝宝刚出生的时候,我和老婆都不会照顾宝宝,她帮了我们很多。两个人带宝宝真的很累,特别是我们宝宝睡觉困难,哄睡太难了。

我们之前准备订月子中心的,但是中途发生了一件不愉快的事情,后来用了手段才成功拿回定金,现在回过头来,月子中的宝宝是最好带的,她只会吃和睡。越到后面越难带。

现在宝宝马上 7 个月了,我们也慢慢适应了,希望她能越来越乖巧,健康快乐成长。

健身

去年 10 月份会员卡到期了,我就没再去健身了,现在宝宝出生了,我更没有时间去健身了。我现在的身材真的是太差了,我希望明年能有时间去健身房。

学英语

自从宝宝出生之后也没时间学英语了,暂停了。我希望明年能有时间学英语。

工作

今年工作也发生了翻天覆地的变化,我的公司又「倒闭」了。去年做的项目,效果太差了,于是今年公司做了新项目,本想大干一场,结果中途又换了项目,最后项目也没做成,公司也没钱了,8 月份的工资到现在都没给,欠薪干到 11 月底,然后公司正式发通知宣布停工了(停工只发生活费),到现在我们还没拿到工资。

目前公司欠我们 5 个月工资和 1 个月的生活费。

这是我第三次遇到公司欠薪的事情了,打工人真的很难。这个公司已经干了 2 年多了。上一家公司是因为疫情倒闭了,最后拖了很久才发的工资,然后倒闭的裁员补偿到现在也没拿到。

现在又有了宝宝,在只有我们自己俩人带孩子的情况下,不太适合去找工作,所以我决定不上班了,之前不想上班我一直想做独立开发者赚钱,尝试之后发现太难了。但是今年慢慢地我发觉自己能靠美股赚钱,所以我决定转行了,我要做一名 Trader。

转行到 Trader 感觉是一种命中注定的事情,我从 2017 年开始接触美股,到现在已经快 7 年了,我一直在学习,我也一直在交易,我也一直在写美股相关的文章,以前一直没想过靠美股为生,就是玩玩,但是今年我感觉找到了适合自己的策略,而这个时候公司恰巧「倒闭」,而我恰好因为要照顾宝宝不能去上班,做美股 Trader 目前再适合不过了。

今年 ChatGPT 的诞生让我大为感叹,我是又开心又失落,开心的是我写代码更快了,ChatGPT + Github Copilot 真的是太香了,失落的是我觉得自己的核心竞争力又被削弱了,以后找工作可能会更难了。

技术

今年有机会接触了 WEB3、区块链技术,我写了一篇教程,但是因为粗心把自己的私钥上传到 Github 上了,为此我付出了 0.76 个以太坊的代价(详情见《我的 ETH 被盗了》),我也学到了很多东西,我也开始接触了 NFT,我也开始写与 NFT 相关的业务了。但是写合约真的是太难了。

合约学了一知半解,后面公司倒闭之后我就没再写了。不是特别感兴趣,少了当年学习新技术的热情。

旅游

读书

无,没多少时间看书,目前把《笑傲牛熊》快听完了。发现对于没时间看书的人来说,微信听书是个不错的选择。

理财

今年是坐过山车的一年,还好最后收益还行,更多请看 《2023 年年终总结投资篇》

败物

硬件:

  • 27 寸的 LG 4k 显示器:1899 元

软件和服务:

  • Github Copilot:99 美元/年
  • SetApp 家庭版:260/年 (汇率变了,涨价了)
  • ChatGPT PLUS:19.99 美元/月

博客

前半年一直保持稳定的更新频率,但是后面宝宝出生之后就没时间写博客了。

以前上班的时候还可以摸鱼抽空写写博客,自从没上班之后自己的时间都被宝宝占据了,没时间写博客了。

其他

今年年中的时候在群友的推荐下我创建了一个美股付费社区,自己赚钱的同时顺便带带他们。相关文章:

展望 2024

健身

希望能有时间去健身房,但是估计因为宝宝的原因,我还是没时间去健身房。

学英语

希望能有时间学英语,但是估计因为宝宝的原因,我还是没时间学英语。

旅游

无计划,等宝宝大一点再说。

工作

转行做美股 Trader,希望能赚更多得钱。

理财

希望能赚更多的钱,比上班赚的多。

业余折腾

无计划,等宝宝大一点再说。

读书

多听一些关于趋势交易的书,书单早就准备好了,就是进度太慢了。

博客

希望能恢复之前的更新频率。每个月至少更新 2 篇文章。

其他

有了宝宝之后对车的需求变大了,希望今年能买辆 Tesla Model Y。

最后

总结完了,希望 2024 年能更好,希望宝宝能健康快乐成长,希望我转行做美股 Trader 能成功,能赚更多的钱。

2023 年年终总结投资篇

引言

2023 这糟糕的一年终于要结束了,按照惯例,每年来一次投资年终总结,来看看这一年的投资表现如何。这是这系列的第五篇文章,前四篇文章:

加一个风险提示:本篇文章仅代表我的个人观点,不构成与其他人相关的任何投资建议。在作出任何投资决定前,投资者应根据自身情况考虑投资产品相关的风险因素,并于需要时咨询专业投资顾问意见。

PS:下文中的今年是指 2023 年。

基金 && A 股

概况

今年基金收益表现还不错,总体收益 7% 左右,去年总体在收益 -13% 左右。

今年基金之所以不错得益于我的一个重要的决策,3 月份底清仓了支付宝基金,4 月底清仓了京东金融上面的国内基金,保留了几个美国基金。

全部亏损割肉了,年底回顾,清仓之后国内基金都跌了 30% 左右,而美国基金都涨了 30% 左右,这个决策是非常正确的。

去年就说了要自己去玩 A 股,刚开始是拿一点小钱去试试水,后面不断加仓,变成大仓位了,年初疫情结束,而且有一波 AI 行情,准备大干一场,结果被大干了一场,AI 行情来的快,去的更快,而我第一次玩 A 股,还是有很多东西不懂,亏损迟迟不肯割肉,一直到最后 (7 月) 实在亏太多,全部割肉离场反思。事后看还好当时割肉了,不然亏的更多,下半年 A 股更是惨。

PS:不知道上面账户的账户盈亏率怎么计算的,后面我账户的余额全部取出来了,这个计算的盈亏率可能就不准确了,不过确实亏很多,一年白干了。

调整一个月之后,8 月我又准备了一笔小资金重新入场,准备继续探索 A 股的玩法,到目前为止这个小额账户也没赚到什么钱,也没找到稳定的方式,但是好消息是也没亏钱,只能说目前的策略还不够稳定,还需要继续探索。

总结

基金收益还不错,全靠 4 月之前清仓了国内的基金,保留了纳指和标普科技基金的重要决策,而且后面我还在不断定投。

A 股年初没按照预定轻仓玩,而是重仓玩,导致亏损严重。也正是这次亏钱,让我认识到了自己的不足,然后去学习了股票的技术分析。并且输出了 6 篇技术分析的文章,也算是一种收获。

明年继续定投纳指基金,继续轻仓探索 A 股的玩法。

美股

概况

今年美股收益表现还不错,总体收益 40% 左右,但是去年亏太惨,所以目前总收益还是亏钱的。

今年美股很有意思,5 月份到 7 月底一路上涨,但是到了 8、9、10 三个月,一路下跌,然后又开始暴力反弹。真是一波三折,不过最后还是赚到了钱。只不过连跌三个月,到后面刚开始反弹的时候都没敢重仓,而且账户资金在减少,所以指数回来了,而且破了新高,但是我的账户收益却没能回到新高,这是我今年最大的遗憾。

PS:还有一个盈立证券的小账户,应该是有翻倍了,他们的统计做的毕竟差,没办法一目了然看到清晰的收益率。

几个错误

今年玩美股,我总结了自己犯过的几个错误

喜欢抄底

上半年有一波美国银行暴雷时间,我抄底了 SI,以为银行不会轻易倒闭,结果还是我见识太少了,银行后面真的倒闭了,而且股票还退市了,这次银行倒闭风波,我抄底了 SI、SCHW、SIVB(还好轻仓),SI 和 SIVB 倒闭退市了,亏不少。SCHW 虽然没倒闭,但是在底部震旦了很久,我买的期权也是爆亏。

解决方案:时刻提醒自己:

  • 绝不要在股价暴跌时因为觉得股票便宜而买进。在持续的卖压下,你会发现股票会变得更便宜
  • 绝不要在下跌趋势中买进股票。
  • 绝不要持有处于下跌趋势中的个股,不论它的市盈率有多低。几个星期后,当更低的股价出现时,你会发现股价下跌的原因。

与市场较劲

SMCI 上半年一路大涨,后面有一次财报,指引不如预期,财报前我买了一张 CALL,财报后大跌,如果这个时候我止损离场,也不亏很多钱,但是我偏偏选择了与市场较劲,觉得跌的太多了,应该会反弹,于是分批抄底,仓位也越来越大,结果 SMCI 在底部调整了很久,我的期权也被消耗完了,最后小亏变成了大亏。

解决方案:市场永远是对的,不要与市场较劲,不要和趋势作对,我们小散户唯一赚钱的方式就是跟着趋势走。

重仓赌财报

多年来我一直持仓特斯拉,正股和期权都有,三次财报我都持仓过夜,而且第三次财报的时候我还是重仓赌,买了大量的 CALL,当时我认为:

  • 前面两次财报都是大跌,这次应该不会再跌了吧,事实上第三次财报更惨,老马不但不安慰投资人了,还说了一些不好的话,导致股价大跌。
  • 市场预期很差了,超预期是很容易的事情,只要超预期就会大涨,事实上,当时上季度的数据还不错,只是下季度指引不好,老马消极看到了未来,导致股价大跌。

7 月底的时候我账户曾有 300% 多的收益,当时市场以为马上要进行降息了,但是后面 CPI 反弹,然后开始极速下跌,而我当时急于回新高,所以重仓赌财报,结果亏了很多的钱,账户一度亏到了接近 90% 了。还好后面有一波大反弹,我才勉强跑过了纳指。

除了特斯拉我还重仓赌过 AAPL 和 META 财报,都是巨亏 😭。在没有看到任何信号的情况下赌了,没信号完全是瞎赌,跟着信号赌至少胜率高一点,

解决方案:

  • 不要重仓赌财报,只能小仓位赌,小赌怡情,大赌伤身。
  • 等财报之后出结果,再追也来得及,不要追求买在最底部。
  • 赌财报之前一定要看到信号才参与,不要盲目参与。

不知道止盈/止损

UPST 上半年有一波大行情,我确实是抓住了,但是最后开始跌的时候我没有走,而是继续持有,好不容易赚的钱,几天的大跌就亏完了。

这种情况不止出现过一次了,有时候赚了钱,但是不知道止损/止盈,最后做了过山车,很没意思。总想吃到最后一口肉,只会害了自己。

唯一一次比较成功的是 MARA 跑得成功,虽然赚的钱后面吐出去了一部分,但是总体还是赚钱的就行。

解决方案:不会止盈的人,永远不会赚到钱。不要求自己卖在最高点,下跌利润回吐,保住剩下的利润就行。

总想吃到最后一口肉

不管什么股票,都不会一直涨的。根据趋势交易理论,每个股票都有四个周期,上升、下降、上升、下降,所以我们要学会抓住上升趋势,当股票横盘的时候,会变得很难赚钱,我们要学会抓住上升趋势,赚到钱就走人。

NVDA 算是今年最成功的一只大科技股票了,其实我也通过它也赚了不少钱,但是总想着会一直涨,不知道满足,后面到了第三阶段,利润回吐了很多。

解决方案:不要总想着吃到最后一口肉,根据趋势投资理论,我们不应该长持任何一只股票,我们要做的就是抓住上升趋势,赚到钱就走人。

看不懂趋势

CLSK 我买了之后,股票横盘了很久,有一天突然突破了,我回本了,不仅没有加仓,而且还立刻卖了。当时想着拿了这么久,终于回本了,我要卖了你。现在想来好好笑🤣,发现以前完全不懂炒股,真不知道以前炒了那么多年的股票,都是怎么炒的。

解决方案:突破正是买入的最好时间,不加仓就算了,千万不要卖出。

持仓不动

价值投资并不意味着买入之后就不动了,股票涨了开心,跌了就安慰自己说是长期投资,其实这样是不对的。有一个账户我 40 买的 NIO,到最后一直没卖,一直跌到十几,亏损重大,最后还是割肉了,这里犯了一个大错:

  • 股票跌了,安慰自己长期投资,不去研究基本面的变化
  • 不懂技术分析,不知道已经跌破趋势线了,还在持有

解决方案:跌破趋势线,也要及时割肉止损。

收获

总结了上面那么多错误,说说今年的收获:

趋势交易

可能是巴菲特太有名了,我们投资股票的时候,多多少少都会知道巴菲特,都会受到他价值投资理念的影响,以前我觉得技术分析、量化交易都是骗人的,只有买入股票一直持有才是最正确的。

但是最近这几年的过山车让我质疑了,我发现我不适合价值投资,我认为:

  • 我们散户没有巴菲特的资金体量,也没有他的信息渠道,所以我们很难做到他那样的价值投资。
  • 价值投资也没有那么简单,也是要每个季度去分析持仓的公司基本面的,而且我们散户在获取信息的时候,是没有任何优势的,所以我们很难做到价值投资。

今年受到一位网友的影响,我开始接触趋势投资,不同于价值投资,趋势投资太适合散户了,我们只要学会技术分析,不需要太关注基本面、消息面,也不用去学怎么读财报,只要学会技术分析,就可以在股票上面赚到钱。

对于趋势投资,我还在不断的学习中,也在不断的实践中,有在看 YouTube 视频,也在看视频,等有了一定的经验之后,我会写几篇文章来分享一下的。

期权信号

今年我开始使用一些付费的期权工具帮我赚钱了。刚开始觉得贵,但是试用下来发现还挺不错的,能帮我赚到钱,只要策略好的话,会赚得更多。不然我 7 月底的时候,也不会赚到 3 倍的收益。后面账户从亏 90% 到赚 50% 也是靠我自己的策略,发现期权异常订单,然后跟单赚钱的。主要是抓这几种信号:

  • 财报信号:财报前大单期权,当然也不会保证一定对,需要结合一套规则,是可以赚到钱的。
  • 生物制药信号:今年成功抓到了不止两个生物制药的信号。年中的 NVO(火了几个月的减肥药,在公布成功之前我有看到大单的 CALL),另外也有 CYTK、EYPT。当然也不是所有的异常期权订单都是对的,有时候也是反向的,所以比较适合期权操作,对了就几倍的收益,错了期权就归零。跟赌财报有一点相似。
  • 收购事件、大事件:成功抓到了 SPLK、X(美国钢铁)的收购事件,收购前有大单买入 CALL,跟单赚到了好多倍的收益。

经过接近半年的实践,我的期权策略不断的优化,越来越好用了,如果你对此感兴趣可以看 轻松实现期权交易盈利 这篇文章,我开了一个付费群,我会给付费用户提供我抓到的信号,大家一起赚钱。

选股器

以前买股票都是看新闻推送的,很被动,也很迟了。很多股票都是涨起来了才会被报道,那个时候已经不适合买入了。学了技术分析之后才知道选股器的好用,不要总是只交易你熟悉的股票。

由于我从事互联网工作,所以前几年我主要投资互联网科技、半导体股票,但是 22 年它们也是跌的最惨的一年,所以 22 年我账户基本亏完了,都是靠不断的充钱和健身才熬过来的,要是早一点学技术分析,早一点使用选股器,我也不会亏那么多钱。

机会是留给有准备的人

玩美股有 5 年多了,很多股票我都很熟悉了,比方所这次 AI 行情、降息之后什么股票会暴涨,我都有准备了,所以我知道该关注什么股票,特别是看到信号的时候我就敢重仓买入。

机会是留给有准备的人,只有重仓才能赚到大钱,前提是你对它了解有信心,所以功课还是要多做的。今年下半年全靠重仓 AFRM、和 IWM 赚到了大钱。

总结

今年美股账户坐了一回过山车,不过最后还是赚到钱了,而且最重要的是今年学会了很多,接触了趋势投资,学会了一点技术分析。技术分析是有用的,特别是对于美股市场,通过自己的技术分析,我已经成功过几次了。

接下来我会继续学习趋势投资,也会继续学习技术分析,希望明年能赚到更多的钱。

港股

今年港股比 A 股还惨,流动性严重不足,而且还有政治风险,我今年上半年就很少玩港股了,8 月份之后就彻底清仓没玩了。美股已经足够了。什么都玩只会什么都亏。

最后

今年年底再次失业了,这次我打算全职做交易了,以前从来没想过这条路,但是现在觉得自己可以试试,我有信心能做好。我相信今年是我投资历史上的一个转折点,我会越来越好的。明年的年终总结,希望能有更好的收益。

社群

我们有投资交流群,免费加入,大家抱团回本,一起赚钱:

期权要学会滚仓

引言

期权的滚仓是一个很重要的概念,也是一个很重要的操作,如果你学会了滚仓,那么你就可以让你赚的更多的钱,如果不会滚仓,你可能会后悔卖飞了的期权。

期权的滚仓主要有:

  • Roll Up:通常是看涨期权
  • Roll Down:通常是看跌期权

这篇文章我主要分享一下 Roll Up 的操作,Roll Down 的操作和 Roll Up 是一样的,只是方向相反而已。

什么是 Roll Up?

期权 Roll Up 指的是关闭现有的期权头寸,同时在相同期权中以更高的执行价格开设新头寸。通常使用场景是持续看涨,买 CALL/卖 PUT。

顺便提一下期权 Roll Down,期权 Roll Down 与 Roll Up 相反,指的是关闭现有的期权头寸,同时在相同期权中以更低的执行价格开设新头寸。通常使用的场景是持续看跌,卖 CALL/买 PUT。

了解期权 Roll Up

期权 Roll Up,简称为「将期权升级到更高的执行价格」,是指通过关闭初始并为同一标的资产以更高的执行价格开设新期权,从而提高期权头寸的执行价格。交易者同时执行这两个操作,以减少滑点或由于实施策略时标的资产价格变化可能造成的利润侵蚀。

无论现有头寸是看跌期权还是看涨期权,执行 Roll Up 策略的步骤都是相同的:

  • 对 BUY CALL 进行 Roll Up 时是持续看涨策略,因为您是在押注价格会继续上涨到更高的行权价。
  • 对 SELL PUT 进行 Roll Up 时也是看涨策略,因为转向更高的执行价格表明您不认为价格会进一步下跌。

进行看涨期权 Roll Up 时,交易者应确保新头寸的净成本低于关闭旧头寸所产生的利润,因为更高执行价格的虚值(OTM)看涨期权溢价应该更低。相反,新的看跌期权期权在升级时的成本也会比旧的看跌期权期权更高。一句话总结就是担心卖飞的话,通过 Roll Up 策略,让你拿着利润去玩,亏了也不心疼

根据旧头寸和新头寸是做多还是做空,Roll Up 操作结果是赚利润或者权利金,具体取决于期权 Roll Up 的价格差异。

Roll Up 常见错误

Roll Up 策略就是为了锁定利润,并且使用低风险的方式继续赚钱,但是有时候我们会犯一些错误,导致我们的利润不稳定,甚至亏钱。常见错误有:

  • 滚仓后使用的成本比初始资金更多
  • 使用太多的利润来滚仓,比如 >= 50%
  • 在没有评估当前市场和利润的情况下盲目滚仓

解决方案:

  • 滚仓的时候不要加仓期权,滚仓的期权张数只能相等或者减少,不能增加,控制好风险。
  • 使用的利润不要太多,不要超过 50%,10-20% 最佳。
  • 时刻关注大盘和标的走势,不要盲目滚仓。

示例

假如你之前买了一张 TSLA 231222 245.00C 的虚值期权,当特斯拉涨到 245 以上时,你完全可以卖掉 245 行权价的 CALL,然后再买一张更高的执行价格的期权,比如 250.00C,这样你就可以继续看涨特斯拉了。这样做有 2 个好处:

  • 你可以拿着之前的利润去玩,亏了也不心疼。
  • 更合理的利用资金,因为更高的执行价格的期权价格更低,你可以用之前的利润去买更多的期权。

上面就是我操作 COST 的实例。

上面是我没有使用 Roll Up 策略的例子,严重卖飞,如果没有卖飞的话今年真的可以休息了 😡😡。

所以说 Roll Up 策略是我相见恨晚的操作,我很早就学会使用组合期权了,但是居然最近才知道这个策略,真是太可惜了。也是因为最近才学会这个策略,有时候甚至忘记操作了,看来只有卖飞的心痛才能让我记住这个策略。

另外使用 Roll Up 最好在支持组合期权的券商上策略,不然你手动操作的话,不仅麻烦而且还会有滑点。我使用的券商里,目前富途是支持组合期权的,长桥要等明年 Q1 才上线,本周在长桥上进行 Roll Up 操作,手动操作亏了几百刀,真是心疼。所有说选择券商的时候,一定要综合考虑,不要只看佣金,还要看支持的功能。

总结

总结一下期权的 Roll Up 策略:

  • 首先你要持续看涨的情况下,才能使用 Roll Up 策略。
  • Roll Up 策略是为了让你拿着利润去玩,亏了也不心疼。
  • Roll Up 策略是为了更合理的利用资金,因为更高的执行价格的期权价格更低,你可以用之前的利润去买更多的期权。
  • 最重要的是,Roll Up 策略是为了防止卖飞,让你的利润更稳定。

注意事项:

  • 选择支持组合期权的券商,不然手动操作会有滑点。
  • Roll Up 策略通常只换行权价不换到期日,因为换到期日会有时间价值的损失。如果换到期日,那就是另外一种策略了(Roll Up and Forward)。
  • Roll Up 策略最核心的思想就是用利润继续赚钱,所以滚仓的时候不要加仓期权,而且只用利润的 10-20% 去滚仓,不要到头来白玩甚至亏钱。
  • Roll Up 策略会让你少赚一些钱,但是这种策略控制好了风险,让你的利润更稳定,不要可惜少赚的钱,要看到风险,不要贪心。

最后

期权的玩法真的有很多,我之前以为自己学会了基本的操作就可以了,但是现在看来,我还有很多东西要学习,我以后会分享更多的期权操作技巧,希望能帮助到大家。

股票技术指标 - 跳空缺口

引言

跳空缺口是股票技术分析中的一个重要概念,它常常被当做股票的重要支撑位和阻力位,这篇文章主要介绍跳空缺口的原理和使用方法。

什么是跳空缺口

特点:

  • 缺口是一种价格差异,它是由于股票价格在一个交易日收盘后和下一个交易日开盘时产生的价格差异,而这个区间内没有成交记录。
  • 整个缺口区域都是支撑位和阻力位,只要没有被回补完,就代表有一定的支撑或阻力。
  • 缺口的大小表示力量的大小,缺口越大,力量越大。
  • 跳空缺囗如果在 2-3 天内被回补,则可视为「假突破」。

这一现象一般在市场受到重大新闻或事件影响时出现,致使股票价格在短期内发生剧烈波动。在技术分析领域,跳空缺口被认为是一个有力的趋势指标,它往往预示着接下来可能出现的大规模价格波动。

技术分析师常用跳空缺口来定位股票的支撑和阻力水平,也利用它来识别可能的趋势变化。通常,跳空缺口可以提供如下三种关键信号:

  • 强势趋势的触发器:它可以作为强烈买入或卖出的指标。
  • 缺口影响力的比较:相对于长红或长绿的 K 线,缺口往往更能反映市场的强势或弱势。
  • 未来价格走势的预测:根据缺口的方向,可以推断股票将来的价格变化,以及是否有突破横盘整理区间的可能性。

跳空缺口的类型

普通缺口

特点:

  • 力量比较小
  • 通常处于股票的横盘区间
  • 没有突破横盘区间的趋势

这种缺口参考意义不大,很快可以被补上,不需要关注。

突破缺口

特点:

  • 出现在横盘区间位置,行情发动阶段,预示着股票向上或者向下
  • 通常伴随着大量的成交量

信号:

  • 跳空向上突破,强力买入,只要缺口没有被回补完,就代表有一定的支撑
  • 跳空向下突破,强力卖出,只要缺口没有被回补完,就代表有一定的阻力

看到突破缺口一定要抓住机会,跳空向上突破的,不要怕高,冲进去。

逃逸缺口

因可以大约地预测股价未来可能移动的距离,所以又称为测量缺口,特点:

  • 与突破缺口相似,只是位置不一样
  • 通常出现在股票的上升/下跌趋势中
  • 表现市场的强势或弱势将会继续

信号:

  • 强势股票的逃逸缺口,代表股票的上升趋势将会继续
  • 弱势股票的逃逸缺口,代表股票的下跌趋势将会继续

遇到逃逸缺口先不要急着进场,要观察股票几天看会不会回补缺口,如果不回补缺口,就可以等股票回撤后买上涨的那天的收盘价,如果回补缺口,就不要买了。

竭尽缺口

特点:

  • 通常出现在股票的行情末期
  • 股票在高位,交易量放大
  • 代表着股票被疯狂的追高或者抛售,其上升/下跌趋势将会结束
  • 通常行情很快结束,股票价格一般在 3 天会回补缺口

信号:

  • 表示多空力量都在竭尽最后的力量,行情即将结束
  • 也是做波段的好时机

如何使用跳空缺口

4 个类型的缺口,我们重点关注突破缺口就可以了。

容易涨的位置:

  • 多头起涨位置,交易量放大,向上跳空突破
  • 多头突破压力位,交易量放大,向上跳空突破

容易跌的位置:

  • 多头连续上涨。高位,交易量放大,向上竭尽缺口
  • 多头上涨遇到阻力位,交易量放大,向下跳空

注意事项

首先,理解 4 种不同类型的跳空缺口至关重要,因为它们预示着不同的后续市场走势。例如,逃逸缺口通常表明上涨趋势将持续,而竭尽缺口则往往是即将发生趋势反转的信号。

对于向上跳空缺口,若想准确预测其后续走势,最理想的情况是缺口突破了压力线,并伴随着成交量逐渐增加。缺口越大,其后续上升的可能性也越高。在这种情况下,可考虑买入。然而,对于希望避免追高并持保守投资策略的人来说,建议在股价稍微回落时再进行买入。

另一项关键的观察指标是成交量。通常,突破性的跳空缺口往往出现在成交量开始增加的阶段,这是因为市场参与者开始集中注意力,推动价格上升。相反,如果在价格上升的同时,竭尽缺口的成交量逐渐减少,这通常意味着投资者不愿意追高,市场有反转的可能性。

总结

向上和向下跳空缺口都是市场主力的明确趋势信号。如果在横盘整理区间内突破压力线或跌破支撑线,并在接下来的两至三天内没有被填补,这通常预示着明确的上涨或下跌趋势。此时便是进行买入或卖出交易的理想时机。

另外,在价格出现向上跳空后,如果在高位未能继续创出新高,并伴随成交量的减少,随后以向下跳空方式回落,这种情况形成的最高点价格通常被描述为“岛状反转”。由于岛状反转模式较为罕见,且通常出现在大跌的初期,因此这提供了一个极佳的做空(卖出)机会。

使用缺口的指标的时候还是要先看趋势,趋势是最重要的,先确认好趋势,然后再看缺口,缺口只是一个辅助的指标,不要盲目的跟缺口,要结合其他指标一起使用。

轻松实现期权交易盈利

引言

美股已经炒了 6 年,期权也交易了 3 年多了,今年算是找到了一点门路,通过期权赚了一点钱。

差不多在一个月前我开通了一个期权收费群,目前已经有不少小伙伴加入了,我今天来介绍一下这个群,如果你对期权感兴趣,欢迎加入。

期权收费群

这个群我会每天都分享期权交易的 Idea,这些 Idea 都是我通过一个付费工具再结合自己研究出来的策略严格筛选出来的,通常这些 Idea 我都会实时分享出来的,你可以选择跟或者不跟,你需要自己做决策,我自己也不是 100% 跟单的。

我通常会截图发出来,图长这样:

通常你只需要关注图中顶部的标题和红框的部分就可以了,比如上面这张图就是:

  • AAPL PUT
  • 182.5 行权价
  • 2023-09-08 到期

更多的解释你可以看我这篇文章介绍 - 《像专业人士一样交易期权之如何使用 Optionstrat》

除了上面的期权 Idea 分享之外,付费群还会提供:

  • 会员答疑服务,只要我会的,我都会尽量回答
  • 股票买进卖出点位,我会分享我自己的买卖点位,不过这个不是每天都有,因为我不是每天都有买卖的

使用指南

我会在开盘期间分享我看到的期权 Idea,然后你要结合自己的判断选择跟不跟,不要所有信号都无脑跟。我偶尔会再群里分享我的买卖点位(因为开盘期间我要一直盯着股票和期权流,不一定有时间分享操作),但是最重要的是你自己的判断和操作。因为每个人的资金和风险承受能力还有投资风格都不一样,所以大家要自己做决策。

另外有了利润记得要止盈,机会很多,不要怕卖飞。我不建议重仓跟单,因为有概率是失败的,看到方向不对的时候要及时止损。

Tips:

  • QQQ、SPY、IWM 的期权可能是对冲
  • 英伟达和特斯拉期权很活跃,噪音比较多,很考验操作能力了,能力不行的可以忽略他们的信号
  • 重点关注 1 M 以上 PREMIUM 的期权信号
  • 关注大盘方向和我分享的 Tradytics 的市场净流量指标,顺着趋势方向做多或者做空。

为什么要收费

首先这个群的工具也是我花钱买的,而且里面还有一些我自己研究的策略,我也是花了很多时间和精力去研究的,所以我觉得这个群是有价值的,所以我才会收费。

如果我提供的信息对你有价值,能帮助你赚到钱,那么我觉得收费是合理的。

如何收费

微信转账就可以,收费规则:

  • 试用期 2 星期,收费 200 元人民币,每个新用户都可以试用一次
  • 试用期过后,每个月收费 100 美元,按照汇率换算成人民币,每个月 700 元左右

成绩

差不多快一个月试用期结束了,我分享一下我们的成绩吧:

DG PUT

DG 财报大跌,这个被我们提前抓到了,有群友跟单赚了几千刀。用我的策略赌财报非常爽,上个月我自己抓到好几个 3 倍的,以小博大。

AAPL PUT

AAPL 大跌前的一天,我们提前抓到了,这个隔天有 5 倍的收益。

VFS PUT

隔天 VFS 跌了 26%。

等等。

我的策略其实很简单,我认为这个市场上总有人提前知道点什么,我们要做的就是发现他们,并且跟随他们

风险提示

想加入付费群的朋友最好有一定的期权基础知识,至少能看懂期权的基本含义,知道是看涨还是看跌。不懂期权的朋友可以看我写的期权教程,期权有风险,入群前请自行评估自己的风险承受能力。

不玩期权的朋友也可以根据我发出来的 Idea 去交易对应的股票。

我也不能保证我分享出来的是 100% 赚钱,但是总体下来胜率还是很高的。所以我也不建议大家重仓跟单(我通常也是每次买一两张),要有风险意识,我们要的是以小博大,不要贪心。

另外需要说明的是通常这些 Idea 一般都出现在后半夜,对于国内交易期权的朋友来说,可能不太方便,这个需要自己评估。

免责声明

付费群的交易 Idea 都是我自己的观点,不构成任何投资建议,投资需要自己做决策,自己承担风险。

总结

一句话总结就是我创建了一个付费群,目的是为了分享期权交易的 Idea,如果你对此很感兴趣可以低价试用一个月,试用期结束你觉得我分享的信息对你有价值,能帮助你赚到钱,欢迎正式加入。

想加入的朋友微信搜索 ipzone,加我好友,备注 期权收费群,我拉你进群。

股票技术指标 - 布林通道(BOLL)

引言

布林通道(BOLL)是由美国经济学家约翰·布林格(John Bollinger)结合了均线和统计学的标准差提出的概念。这一指标可以帮助投资者理解价格的相对高低以及价格的波动性,从而做出更明智的投资决策。

什么是布林通道

布林通道是移动平均线和标准差的概念,以 MA20 为中轴线,上下各偏离 2 个标准差的距离,形成一个通道。布林通道由三条轨道线组成:

  • 上轨线 = MA20 + 2 * 标准差
  • 中轨线 = MA20
  • 下轨线 = MA20 - 2 * 标准差

PS: 这里的标准差是统计学中的一个概念,核心思想就是大多数股价涨到一定的高度就会回落,跌到一定的低度就会反弹,这个高度和低度就是标准差。

布林线的理论基础

布林线的设计原理是股价通常总是围绕着某个中轴在一定的范围内波动,通过对股价的统计分析,可以得出股价的标准差,从而确定股价的波动范围,形成一个带状区间,股价通常在这个带状区间内波动。

带状区间的宽窄也会随着股价的波动幅度而变化:

  • 当股价波动剧烈时,带状区间变宽,就像开口一样
  • 当股价波动平稳时,带状区间变窄,就像闭口一样

布林线的应用

布林线主要是找支撑和阻力的,通常来讲(有 95.4% 的可能性):

  • 下轨线对股价有支撑作用:即使跌破了通常也不会离得很远,而且通常很快会反弹
  • 上轨线对股价有阻力作用:碰到上轨道不一定会下来,我们要识别回落的信号,如果股价碰到上轨道后,是一根绿色的放量 K 线,那么有很大概率会回落
  • 中轨线既有支撑作用,也有阻力作用

抢反弹

  • 买入:当股价跌破下轨线时,并且出现红 K 的时候可以抢反弹,可以以中轨线为目标,行情好的时候也可以以上轨线为目标
  • 卖出:当股价突破中轨道或者上轨道时,如果遇到绿 K 线,并且股价跌破昨天的最低点,那么就要卖出,没跌破的话,可以继续持有

回落买入

使用布林通道之前,我们需要先确定股票的趋势,如果是上涨趋势,那么我们就可以使用回落买入的策略。

长线策略

布林通道也适合做长线策略,有些股票很强势,碰到中轨线之后就立马反弹,这种股票可以长线持有,直到股价跌破中轨线为止。

横盘突破

股价横盘的布林通道接近平行,当股价有突破的趋势,布林线就会打开,这预示着大机会来临,可以买入。

总结

布林通道是一个很好的技术指标,它能帮你找到支撑和阻力,但是在使用之前还是要确认股票的趋势,趋势是最重要的,布林通道只是一个辅助指标。

另外在使用布林通道的时候一定需要结合其他指标一起使用,比如 MACD、KDJ、RSI 等等。

如何抓住股票的起涨点

引言

今天主要是给大家分享一下我在股票投资中的一个小技巧,这个技巧可以帮助你从 K 线图上抓住股票的起涨点,从而提高你的投资收益。

股票的起涨暗号

完美底部

完美底部,长期盘整,2 个月以上。

均线多头排列

  • 3 条或者 4 条均线多头排列,完成多头排列向上。
  • 短的均线一定要在长的均线之上。
  • 均线分别看 5、10、20、60 日均线。

长红 K 起涨爆量

  • 起涨的位置暴量长的红 K 上涨,量比 2 倍以上。
  • KD 黄金交叉 或者多头排列。

KD 指标背离

这里的背离是指 KD 指标跟股价的趋势相反,股价在横盘,但是 KD 指标在上升,这种情况可以买入。

头头高底底高

  • 头头高是指股价的 K 线图上,股价的高点是逐渐上升的。
  • 底底高是指股价的 K 线图上,股价的低点是逐渐上升的。

不要追的信号

第三波行情

第三波行情的起涨可以追,但是如果已经涨了 3 天以上就不要追了,比较危险。第三波跌破 MA5 就卖,而且第三波只能做短线。

高位爆量

不管第几波行情,底部爆量可以追,但是高位爆量不要追,比较危险。这里的爆量是指量比 2 倍以上。

月线没有多头排列

底部 MA20 均线没有多头排列,并且股价低于 MA20 的不要买。

最后

起涨点没抓住不要冲进去了,等第二波,第二波通常会比第一波更大,起涨的特点跟第一波一样。另外冲进去的话:

  • 一定要设置好止损,最好不要让自己的亏损超过 5%
  • 起涨点一定是红 K,不能是高开低走
  • 暴涨上涨也一定是红 K,并且不能是高位爆量,股价要在低位爆量才安全
  • 股价低于 MA60 的不要买,保守一点的话,股价低于 MA20 的就不要买了

股票技术指标 - 随机(KD)指标

引言

KD 指标是目前股市上常用的短线入场技术指标之一,它是一个领先的指标,这篇文章主要介绍 KD 指标的原理和使用方法。

什么是 DK 指标

KD 指标 (Stochastic Oscillator) 又叫随机指标,是一种反映价格波动的指标,由 George C.Lane 于 1950 年代提出,是目前股市上常用的技术指标之一,被广泛应用于预测金融市场的中短线行情趋势。

KD 指标,最主要就是用来呈现过去一段时间股价强弱趋势、许多人会运用这些数字,来作为寻找价格转折点的交易讯号依据。

PS: 在 KD 指标的基础上进一步发展出了 KDJ 指标,它比 KD 线多了一条 J 线。但是 DK 才是最基础的指标,所以我们先来学习 KD 指标。

KD 指标的计算公式

DJ 的计算依据是最高价、最低价和收盘价。它可以从其中反映价格波动的强度,超买和超卖,并在价格上涨或下跌前给出交易信号。

它由两条线构成:

  • K 线 (又称为快线),上图中橙色粗线。
  • D 线 (又称为慢线),上图中蓝色细线。

以下是计算这两个值的公式:

1
2
3
4
5
RSV = (今日收盘价 – 最近 n 天的最低价) ÷ (最近 n 天的最高价 – 最近 n 天最低价) × 100
今日 K 值 = 昨日 K 值 × (2/3 ) + 今日 RSV × ( 1/3)
今日 D 值 = 昨日 D 值 × (2/3) + 今日 K 值 × ( 1/3)

* RSV 中的 N 天,常见天数有以 9 天、14 天等来比较,依标的属性来调整。
  • K 值:把今天股价算出的 RSV 和昨天 K 值取加权平均,对当前股价变动的反应会比较快速,
  • D 值:把今天 K 值 (已加权平均过) 和昨天 D 值在平均一次,经过两次平滑、今天最新股价对它的影响就比较小,因此对当前股价变动的反应会比较慢。

一般来说

  • 当计算出的 KD 数值越高,代表个股的收盘价,会接近最近几天的最高价
  • 如果是 KD 数值越低,则代表个股的收盘价,接近最近几天的最低价

KD 指标的应用

黄金交叉/死亡交叉

  • 当 K 值从下往上穿越 D 值时,且两条线都是向上的趋势,称为黄金交叉,代表股价即将上涨,是买入信号。
  • 当 K 值从上往下穿越 D 值时,且两条线都是向下的趋势,称为死亡交叉,代表股价即将下跌,是卖出信号。

股票在盘整的时候,黄金交叉和死亡交叉的信号不是很准确。

超买/超卖信号

KD 指标 (随机指标) 的区间为 0~100,一般来说:

  • 当 KD 值超过 80 时,代表股价已经进入超买区间,股价可能会出现回档
  • 当 KD 值低于 20 时,代表股价已经进入超卖区间,股价可能会出现反弹

KD 指最主要的用途是告诉我现在股价在高位还是低位,不是说要等 KD 到了 20 你才能入场,强势股的话 50、60 多如果碰到黄金交叉,也是可以入场的。

以 50 为界,当 KD 值大于 50 时,代表股价处于上升趋势,当 KD 值小于 50 时,代表股价处于下降趋势。

KD 钝化

  • KD 高档钝化:一旦价格持续上涨,KD 会开始在超买区盘整。只要 KD 值中的 K 值,连续三根站在 80 以上,就称做 KD 高档钝化。
  • KD 低档钝化:KD 在超卖区盘整但价格一路往下跌。只要 KD 值中的 K 值,连续三根低于 20,就称做 KD 低档钝化。

如果出现 KD 钝化,就表示 KD 信号失效,此时就不要再参考 KD 指标了,去看其他指标,比如均线。

KD 背离

KD 背离是指股价和 KD 指标的走势方向不一致,这种情况下,股价很可能会发生反转。有两种类型的背离:顶背离和底背离。

  • 顶背离:当价格创新高,但 KD 指标未能创新高时,我们称之为顶背离。这是一个可能的顶部转折信号,表明上涨动力可能在减弱,市场可能将开始下跌。
  • 底背离:当价格创新低,但 KD 指标未能创新低时,我们称之为底背离。这是一个可能的底部转折信号,表明下跌动力可能在减弱,市场可能将开始上涨。

然而,要注意的是,背离只是一个可能的转折信号,并不保证市场一定会转向。因此,投资者在使用背离进行决策时,需要结合其他因素(如市场新闻、其他技术指标等)进行考虑。

提高胜率应用

  • KD 指标选股操作要配合技术分析结合趋势多空、价位高低、均线、成交量成功率才高
  • KD 指标反应短线转折,搭配 MACD 指标更胜一篙
  • KD 指标进场时可做参考,高位指标会钝化因此止盈卖出以个人原则卖出,比如跌破 MA10 均线
  • 考虑操作的时程不同,一样要看短、中、长期的 KD 指标趋势
  • KD 底背离,第二波跌破五均线,成交量是昨天的 2 倍及以上,可以考虑买入,胜率高

总结

  • KD 指标 (Stochastic Oscillator) 能呈现股价在一段时间内,高低区间的波动范围。
  • KD 指标的数字介于 0~100 之间。
  • 一般来说,K 值高于 80 代表目前股价强势,低于 20 代表弱势。这时容易转折。
  • 如果股价趋势一直很一致,一直涨或一直跌,KD 指标会有钝化状况,KD 指标就失效了。
  • 出现 KD 背离,股价很可能会发生反转。

最后提醒大家,技术指标是用来帮助我们描述过去和预测未来的,但是并不能保证一定准确,所以在使用的时候,一定要结合其他的指标和自己的判断,才能更好的使用。

我的 ETH 被盗了

引言

最近 ETH 跌了,昨天晚上睡觉前看了一下自己的 ETH 钱包,结果看到一个转账通知,钱包内的 0.76 个 ETH 全部被转走了,转走的时间是前天晚上。

这篇文章主要是记录一下自己的经历,以及如何避免自己的钱包被盗。

事件经过

周五在学智能合约,写了一篇《使用 HardHat 创建 NFT 智能合约》的文章,然后按照教程把代码上传到 GitHub 了,并且开源了。没有特意的去检查代码的环境变量。

然后周六晚上发现自己的钱包的 ETH 被盗了,第一时间以为是自己授权钱包给了不安全的网站,导致被盗了,但是仔细检查了一下,发现 MetaMask 的交易记录并没有被盗的那条记录。

然后我去看 Github 代码,被盗的时间在代码最后一次提交的时间前,然后再一看代码,发现自己傻逼了,把自己的私钥放到了代码里面,然后提交到了 Github 上面。

仓库里面有一个 .env.example 文件,hardhat 初始化的时候生成 .gitignore 文件,里面有 .env,这一步是没问题的,但是我在创建 .env.example 的时候,使用的是 cp .env .env.example,这样就把私钥也复制到了 .env.example 文件里面,也没去删除里面的私钥,也没确认,就提交到了 Github 上面。

那个时候赶着下班,提交代码就走了。

如何避免

认识到钱包私钥的重要性

显然我之前对钱包私钥的重要性认识不够,导致了这次的损失。Web3 钱包的私钥(Private Key)非常重要。在区块链技术中,私钥就像是你的密码,具有以下重要性:

  • 访问权限:私钥是你访问和操作你的 Web3(例如以太坊)钱包中资产的唯一方式。有了它,你就可以发送交易,购买、出售或交换代币。
  • 安全保障:私钥必须保持私密,不应分享给任何人。任何拥有你私钥的人都可以访问并使用你的区块链资产。一旦私钥丢失,你可能无法恢复对你的资产的访问。这就是为什么许多人选择使用硬件钱包或其他安全措施来存储他们的私钥。
  • 不可更改:一旦生成私钥,就不能更改。这确保了任何人都不能篡改你的交易记录或资产。
  • 无法找回:如果你丢失了私钥,那么几乎没有办法找回。这就是为什么备份你的私钥非常重要。

所以,保存好你的 Web3 钱包私钥并保证其安全是非常重要的,丢失或泄露私钥可能会导致你的资产被盗。

区分钱包

在使用 Web3 钱包的时候,一定要区分好钱包,你可以创建多个钱包,用于不同的场景,比如一个专门用来存储资产,一个专门用来开发测试,一个专门用来交易等等。

储存资产的钱包一定要保证私钥的安全,也不要乱授权,推荐使用硬件钱包来保证你的私钥安全。

环境变量

在开发的时候,一定要注意环境变量的安全,不要把私钥等重要信息放到代码里面,也不要提交到 Github 上面。特别是开源项目,一定要注意。我能想到的方案:

  • 可以养成先创建私有仓库,然后再创建公开仓库的习惯。
  • 在提交代码的时候,检查一下代码改动,确认没有私钥等重要信息。
  • 本地安装 git-secrets, 配合 git 钩子,可以在提交或者 push 前自动扫描代码,看看有没有问题,很方便。(推友方案)

总结

这次事件,让我对 Web3 钱包的私钥有了更深的认识,也让我意识到了环境变量的重要性,以后一定要注意。周五的那篇文章价值 0.76 个 ETH,心在滴血。

希望大家能够引以为戒,不要重蹈我的覆辙。如果我的文章对有帮助到你,可以考虑打赏安慰一下我,非常感谢 🙏。

  • TRC:TRdBDpuSVffHfAD33SFVyc62hZe79msdcd
  • ETH:0xc1a3C8DF608F8D4a321fEC13e968327ccFd0bf74

附上学习资料:《区块链安全入门笔记》

使用 HardHat 创建 NFT 智能合约

引言

最近在学智能合约,本篇文章主要记录如何使用 HardHat 创建 NFT 智能合约。我们还将学习如何使用 Hardhat 写测试合约和部署智能合约。

先决条件

搭建环境

安装 Node.js

首先,我们需要安装 Node.js,参照官网的安装教程即可。

MetaMask

  • 安装并下载 MetaMask 浏览器插件,然后创建一个钱包。用于与区块链交互。
  • 安装完 MetaMask 后,添加与 Polygon Mumbai 测试网的连接。另外也可以使用 Chainlist 快捷添加。
  • 使用 Polygon 水龙头为你的账户充值测试网的 MATIC 代币。

创建 Polygonscan API 密钥

当我们将我们的合约部署到区块链(主网或测试网)时,部署后验证我们的智能合约代码是一种最佳实践。如果我们的智能合约被验证了,那么智能合约代码将在区块浏览器上可见,用户将能够直接从区块浏览器(如 Polygonscan)与智能合约交互。验证源代码是非常被鼓励的,因为它使我们的项目更透明,用户更有可能与之交互。

使用 HardHat 插件,智能合约可以在部署过程中自动进行验证。为此,我们需要一个 Polygonscan API 密钥。按照以下步骤获取你自己的 API 密钥:

  • 打开 Polygonscan
  • 点击页面右上角的 SignIn
  • 如果你已经有账号,输入你的用户名和密码进行登录,否则通过访问 Register 创建你的新账号。
  • 一旦你登录了,转到左侧边栏的 API Keys 部分。
  • 点击Add按钮,给它取个名字,然后点击继续。

现在你有了一个 API 密钥,这将允许你访问 Polygonscan API 的功能,如合约验证。这个密钥对主网和测试网都是一样的。

创建一个 HardHat 项目

安装 HardHat,运行命令:

1
npm install -g hardhat

这将全局安装 HardHat,以便我们后来可以使用 npx 命令来创建 HardHat 项目。

现在,我们将使用以下代码创建我们的项目:

1
2
3
mkdir art_gallery # 我将我的项目文件夹命名为 art_gallery,但其他任何名称都可以
cd art_gallery    # 进入目录
npx hardhat

输入最后一个命令后,类似于以下的内容应该出现在你的屏幕上:

这里我选的是 typescript,你可以根据自己的喜好选择。

理解代码

现在让我们打开我们的项目并看看它包含什么。我将使用 VSCode 作为我的编辑器,但你可以自由地使用你感觉舒服的任何其他代码编辑器。

我们得到的是一个非常简单的项目脚手架。所有我们的智能合约、脚本文件和测试脚本都将保存在它们各自的目录(文件夹)中。

hardhat.config.js 文件包含了所有特定于 HardHat 的配置。

在我们开始编写我们的智能合约之前,让我们看一下 hardhat.config.js 文件,这是我们 HardHat 项目的核心。这个文件的默认内容是:

1
2
3
4
5
6
7
8
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";

const config: HardhatUserConfig = {
  solidity: "0.8.18",
};

export default config;

安装 OpenZeppelin 库

在编写任何程序时,我们总是倾向于使用各种库,这样我们就不必从头开始编写。由于我们将构建一个基于 NFT 的项目,我们将遵循在 EIP-721 中定义的标准。最好的方式是导入 OpenZeppelin 合约库中的 ERC721 合约,并只对我们的项目进行必要的修改。要安装这个包,打开终端并运行命令:

1
npm install @openzeppelin/contracts

开始我们的智能合约

让我们在 contracts 目录中创建一个名为 Artwork.sol 的新文件。这将是我们的第一个智能合约,它将帮助我们创建 NFTs。

1
2
3
4
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9;

contract Artwork {}

我们首先定义我们的智能合约的许可证。对于这个教程,我们将其保留为未许可。如果我们不定义许可证,它将在编译时引起警告。pragma 关键字用于定义用于编译代码的 Solidity 版本。

接下来,我们将从我们刚刚安装的 OpenZeppelin 库中导入 ERC721 智能合约。在定义 Solidity 版本的行之后和定义合约之前,导入 ERC721 合约:

1
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

如果使用 VSCode,我们需要在 .vscode/settings.json 文件中添加以下配置:

1
"solidity.remappingsUnix": ["@openzeppelin/=node_modules/@openzeppelin/"]

参考 Source “@openzeppelin/contracts….” not found: File import callback not supported

继承 ERC721 和构造器初始化

对代码做出以下修改:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract Artwork is ERC721 {

    constructor(
        string memory name,
        string memory symbol
    ) ERC721(name, symbol) {}

}

这里我们正在做以下几件事:

  • 使用 is 关键字将 OpenZeppelin 的 ERC721 智能合约继承到我们的 Artwork.sol 智能合约中。
  • 构造器总是在部署智能合约时首先被调用的函数。由于我们正在继承另一个智能合约,我们必须在定义我们的构造器时传入那个智能合约的构造器的值。这里我们将一个名称和符号作为构造器参数,然后将它们传递给 ERC721 的构造器。
  • namesymbol 分别将是我们 NFT 的名称和符号。

定义 tokenCounter

NFT 被称为非同质化代币,因为每一个都是独一无二的。使它们独一无二的是赋予它们的代币 id。我们将定义一个名为 tokenCounter 的全局变量,并用它来计算代币 id。它将从零开始,每创建(或"铸造")一个新的 NFT,它就增加 1。在构造器中,tokenCounter 的值被设置为 0。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract Artwork is ERC721 {

    uint256 public tokenCounter;

    constructor(
        string memory name,
        string memory symbol
    ) ERC721(name, symbol) {
        tokenCounter = 0;
    }

}

创建 mint 函数

现在我们将定义一个 mint 函数,任何用户都可以调用它来铸造新的 NFT。每个 NFT 都会有一些关联的数据。在我们的情况下,我们使用图像或其他收藏品作为 NFT 的基础,因此图像应该以某种方式存储在智能合约中。由于直接在区块链上存储数据有相关的成本,如果存储整个图像和其他关联数据(元数据),那么在财务上将不可行。所以,我们需要单独托管图像以及包含所有 NFT 详细信息的 JSON 文件。图像和 JSON 文件可以分别使用去中心化(使用 IPFS)或传统方法集中托管。JSON 文件也包含指向图像的链接。一旦托管了 JSON 文件,指向该 JSON 文件的链接就存储在区块链中,作为 tokenURI。URI 代表"通用资源标识符"。以下是集中托管 tokenURI 的一个例子。

有了这个思路,mint 函数就是我们创建与智能合约关联的每个 NFT 的方式:

1
2
3
4
5
6
function mint(string memory _tokenURI) public {
    _safeMint(msg.sender, tokenCounter);
    _setTokenURI(tokenCounter, _tokenURI);

    tokenCounter++;
}

_safeMint 是 OpenZeppelin ERC721 合约中的另一个函数,用于铸造新的 NFT。它需要两个参数:

  • to:第一个参数是一个账户的地址,该账户将在 NFT 铸造后拥有它。
  • tokenId:第二个参数是新铸造的 NFT 的 tokenId。

msg.sender 是一个特殊的关键字,它返回调用智能合约的账户的地址。在这种情况下,它将返回当前调用 mint 函数的账户。因此,调用 mint 函数的账户将作为第一个参数传递,所以铸造的 NFT 将由这个账户拥有。

_setTokenURI() 函数还没有定义,所以暂时忽略它。这个函数将用于设置铸造的 NFT 的 tokenURI。这个函数在 ERC721 库中存在,但在 Solidity 版本 0.8.0 之后已经被废弃,所以我们需要自己实现它。

一旦代币被铸造并设置了其 tokenURI,我们就将 tokenCounter 增加 1,以便下一个铸造的代币有一个新的代币 id。

创建 _setTokenURI() 函数

我们的 NFT 智能合约必须存储所有有效的 tokenId 及其各自的 tokenURI。为此,我们可以使用 Solidity 中的 mapping 数据类型。映射的工作方式类似于 Java 等其他编程语言中的 hashmap。我们可以定义一个从 uint256 数到 string 的映射,这将表明每个 tokenId 都映射到其各自的 tokenURI。在声明 tokenCounter 变量之后,定义映射:

1
mapping (uint256 => string) private _tokenURIs;

现在让我们编写_setTokenURI 函数:

1
2
3
4
5
6
7
function _setTokenURI(uint256 _tokenId, string memory _tokenURI) internal virtual {
    require(
        _exists(_tokenId),
        "ERC721Metadata: URI set of nonexistent token"
    );  // Checks if the tokenId exists
    _tokenURIs[_tokenId] = _tokenURI;
}

这里定义了许多新的术语,所以让我们逐一处理:

  • internal:这个函数用 internal 关键字定义。这意味着这个函数只能由这个智能合约中的其他函数或继承这个智能合约的其他智能合约调用。这个函数不能被外部用户调用。
  • virtual:这个关键字意味着这个函数可以被任何继承这个智能合约的合约重写。
  • require:函数体内的第一件事就是 require 关键字。它接收一个条件语句。如果这个语句返回 true,那么就执行函数体的其余部分。如果条件语句返回 false,那么它会生成一个错误。第二个参数是生成的错误消息,它是可选的。
  • _exists():如果已经铸造了传入的 tokenId 的代币,那么这个函数返回 true,否则返回 false。

总结:这个函数首先确保我们试图设置 tokenURI 的 tokenId 已经被铸造。如果是,它将把 tokenURI 添加到映射中,以及相应的 tokenId。

创建 tokenURI() 函数

我们需要创建的最后一个函数是 tokenURI() 函数。它将是一个公共可调用的函数,接受一个 tokenId 作为参数,并返回其相应的 tokenURI。这是一个标准的函数,被 OpenSea 等基于 NFT 的平台调用。像这样的平台使用这个函数返回的 tokenURI 来显示有关 NFT 的各种信息,如其属性和显示图像。

让我们编写 tokenURI 函数:

1
2
3
4
5
6
7
function tokenURI(uint256 _tokenId) public view virtual override returns(string memory) {
    require(
        _exists(_tokenId),
        "ERC721Metadata: URI set of nonexistent token"
    );
    return _tokenURIs[_tokenId];
}
  • public:这个函数是公开的,这意味着任何外部用户都可以调用它。
  • view:由于此函数不改变区块链的状态,即它不改变智能合约中的任何值,执行此函数不需要任何 Gas。由于不会发生任何状态更改,因此此函数被定义为 view。
  • override:我们已经在我们继承的 ERC721 合约中有一个 tokenURI() 函数,它使用「baseURI + tokenId」的概念来返回 tokenURI。由于我们需要不同的逻辑,我们需要使用此关键字覆盖继承的函数。
  • returns(string memory):由于此函数将返回一个字符串值,我们在声明函数时必须定义它。memory 关键字定义了信息的存储位置。

这个函数首先检查是否铸造了传入的 tokenId。如果已经铸造了代币,它从映射中返回 tokenURI。

将所有功能组合在一起

将所有函数组合在一起,最终的智能合约将如下所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract Artwork is ERC721 {

    uint256 public tokenCounter;
    mapping (uint256 => string) private _tokenURIs;

    constructor(
        string memory name,
        string memory symbol
    ) ERC721(name, symbol) {
        tokenCounter = 0;
    }

    function mint(string memory _tokenURI) public {
        _safeMint(msg.sender, tokenCounter);
        _setTokenURI(tokenCounter, _tokenURI);

        tokenCounter++;
    }

    function _setTokenURI(uint256 _tokenId, string memory _tokenURI) internal virtual {
        require(
            _exists(_tokenId),
            "ERC721Metadata: URI set of nonexistent token"
        );  // Checks if the tokenId exists
        _tokenURIs[_tokenId] = _tokenURI;
    }

    function tokenURI(uint256 _tokenId) public view virtual override returns(string memory) {
        require(
            _exists(_tokenId),
            "ERC721Metadata: URI set of nonexistent token"
        );
        return _tokenURIs[_tokenId];
    }

}

编译智能合约

现在我们的智能合约已经准备好了,我们必须将其编译。为了使用 HardHat 编译一个智能合约,请运行以下命令:

1
npx hardhat compile

如果一切顺利,你将会看到「Compilation finished successfully」的信息。如果合约没有成功编译或者出现了错误,你可以尝试再次阅读本教程,找出出错的地方。一些可能出现的错误包括:

  • 没有提供 SPDX-License-Identifier
  • 使用 pragma 关键字定义的 Solidity 编译器版本和在 hardhat.config.js 中定义的版本不匹配。
  • 导入的智能合约的 Solidity 版本和编写我们的智能合约使用的版本不匹配。为解决这个问题,你需要仔细检查你用 npm 安装的 OpenZeppelin 合约的版本。在我这里,npm 包的版本是 8.19.3',智能合约是用 solidity 版本 0.8.18 编写的。

测试智能合约

到目前为止,我们已经编写了我们的智能合约并编译了它。然而,一个成功编译的智能合约并不意味着它是正确的!编写测试用例以确保它通过所有预期的使用情况和一些边缘情况是非常重要的。由于一旦智能合约被部署到区块链上就不能被修改,因此测试智能合约变得更加重要。

我们将使用 chai 库来编写我们的测试。如果在创建项目时没有安装这个库,你可以使用命令 npm install --save-dev chai 来安装。

我们将对我们的智能合约进行以下测试:

  • NFT 成功地被铸造:在一个账户调用铸造函数后,该账户应该拥有一个新铸造的 NFT 并且其余额会增加。
  • tokenURI 被成功地设置:对于使用不同 tokenURIs 铸造的两个 token,两个 token 应该各自拥有自己的 tokenURI,并且可以正确地获取数据。

编写测试用例

在 test 目录下创建一个新的文件,叫做 Artwork.ts。文件名并不重要,但为了保持有序,测试文件的名称应该和被测试的合约有所关联。在这个新文件中,添加以下代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { expect } from "chai";
import { ethers } from "hardhat";

describe("Artwork Smart Contract Tests", function () {
    this.beforeEach(async function () {
        // This is executed before each test
    })

    it("NFT is minted successfully", async function () {

    })

    it("tokenURI is set sucessfully", async function () {

    })
});
  • describe:此关键字用于给我们将要执行的测试集命名。
  • beforeEach:在 beforeEach 中定义的函数将在每个测试用例之前执行。我们将在这里部署 NFT 合约,因为每次运行测试之前必须部署合约。
  • it:这个用来编写每个测试用例。it 函数接受一个测试的标题和一个运行测试用例的函数。

注意:与 Truffle 不同,HardHat 不需要单独为测试运行 ganache-cli。Hardhat 有自己的本地测试网,我们可以使用。

部署合约和编写测试

为了部署智能合约,我们首先需要使用 ethers.getContractFactory() 获取对编译好的智能合约的引用,然后我们可以使用 deploy() 方法来部署智能合约并传入参数。我们在 beforeEach() 部分做这个操作。

1
2
3
4
5
6
7
8
let artwork;

this.beforeEach(async function() {
    // This is executed before each test
    // Deploying the smart contract
    const Artwork = await ethers.getContractFactory("Artwork");
    artwork = await Artwork.deploy("Artwork Contract", "ART");
})

为了检查 NFT 是否正确地被铸造,我们首先获取 HardHat 创建的一个默认账户。然后我们调用智能合约中的 mint 函数,传入一个随机的 tokenURI。我们在铸造之前和之后检查账户的余额,它们应分别为 0 和 1。如果合约通过了测试,那就意味着 NFT 被正确地铸造了。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
it("NFT is minted successfully", async function() {
    [account1] = await ethers.getSigners();

    expect(await artwork.balanceOf(account1.address)).to.equal(0);
    
    const tokenURI = "https://kongz.herokuapp.com/api/metadata/1"
    const tx = await artwork.connect(account1).mint(tokenURI);

    expect(await artwork.balanceOf(account1.address)).to.equal(1);
})

为了检查 tokenURI 是否被正确设置,我们取两个随机的 tokenURIs 并从不同的账户设置它们。然后我们调用 tokenURI() 函数来获取相应 token 的 tokenURI,然后将它们与传入的参数进行匹配,以确保 tokenURIs 被正确地设置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
it("tokenURI is set sucessfully", async function() {
    [account1, account2] = await ethers.getSigners();

    const tokenURI_1 = "https://kongz.herokuapp.com/api/metadata/1"
    const tokenURI_2 = "https://kongz.herokuapp.com/api/metadata/2"

    const tx1 = await artwork.connect(account1).mint(tokenURI_1);
    const tx2 = await artwork.connect(account2).mint(tokenURI_2);

    expect(await artwork.tokenURI(0)).to.equal(tokenURI_1);
    expect(await artwork.tokenURI(1)).to.equal(tokenURI_2);

})

将所有内容放在一起

最终,在将所有测试用例组合在一起后,Artwork.ts 文件的内容将是:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { expect } from "chai";
import { ethers } from "hardhat";
import { Artwork } from "../typechain-types";

describe("Artwork Smart Contract Tests", function () {
    let artwork: Artwork;

    this.beforeEach(async function () {
        // This is executed before each test
        // Deploying the smart contract
        const Artwork = await ethers.getContractFactory("Artwork");
        artwork = await Artwork.deploy("Artwork Contract", "ART");
    })

    it("NFT is minted successfully", async function () {
        let account1;
        [account1] = await ethers.getSigners();

        expect(await artwork.balanceOf(account1.address)).to.equal(0);

        const tokenURI = "https://kongz.herokuapp.com/api/metadata/1"
        const tx = await artwork.connect(account1).mint(tokenURI);

        expect(await artwork.balanceOf(account1.address)).to.equal(1);
    })

    it("tokenURI is set successfully", async function () {
        let account1;
        let account2;
        [account1, account2] = await ethers.getSigners();

        const tokenURI_1 = "https://kongz.herokuapp.com/api/metadata/1"
        const tokenURI_2 = "https://kongz.herokuapp.com/api/metadata/2"

        const tx1 = await artwork.connect(account1).mint(tokenURI_1);
        const tx2 = await artwork.connect(account2).mint(tokenURI_2);

        expect(await artwork.tokenURI(0)).to.equal(tokenURI_1);
        expect(await artwork.tokenURI(1)).to.equal(tokenURI_2);

    })
});

您可以使用命令运行测试:

1
npx hardhat test

部署智能合约

到目前为止,我们已经学会了如何编写智能合约并对它们进行测试。现在我们终于可以开始将我们的智能合约部署到 Mumbai 测试网络了,这样我们就可以向我们的朋友们炫耀我们新学到的技能了😎。

在我们继续并部署我们的智能合约之前,我们将需要两个额外的 npm 包:

  • dotenv:输入 npm install dotenv。这将用于管理环境变量,这些变量用于设置我们的 Polygonscan API 密钥的访问。
  • @nomiclabs/hardhat-etherscan:输入 npm install @nomiclabs/hardhat-etherscan。这个库用于在将智能合约部署到网络时验证它。在 Etherscan 和 Polygonscan 上验证智能合约的过程是一样的。

设置环境变量

在项目根目录中创建一个名为 .env 的新文件。

.env 文件中创建一个名为 POLYGONSCAN_KEY 的环境变量,将其设置为教程开始时创建的 API 密钥。同时添加另一个条目 PRIVATE_KEY,将其设置为有 MATIC 的 Mumbai 测试网钱包帐户的私钥。

1
2
POLYGONSCAN_KEY=xxxx
PRIVATE_KEY=xxxxx

修改配置文件

为了将经过验证的智能合约部署到 Mumbai 测试网络,我们必须在 hardhat.config.js 文件中做一些改动。首先,将这段完整的代码复制粘贴到文件中,然后我们会一步一步地解释这段代码,以理解正在发生的事情:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
require("dotenv").config();

const config: HardhatUserConfig = {
  solidity: "0.8.18",
  networks: {
    mumbai: {
      url: "https://matic-testnet-archive-rpc.bwarelabs.com",
      accounts: [
       `${process.env.PRIVATE_KEY}`
      ]
    }
  },
  etherscan: {
    apiKey: process.env.POLYGONSCAN_KEY,
  }
};

export default config;

由于我们将把我们的合约部署到 Mumbai 测试网,所以我们在网络部分创建了一个新的网络对象。我们将其命名为 mumbai,并将其 url 设置为 Mumbai 测试网的 RPC url。然后,我们将我们的私钥添加到 accounts 数组中,以便我们可以使用它来部署我们的智能合约。

最后,我们将我们的 API 密钥添加到 etherscan 对象中,以便我们可以在部署智能合约时验证它。

编写部署脚本

scripts 文件夹中创建一个名为 deploy_artwork.ts 的新文件。在这个文件中,我们将编写一个脚本,用于部署我们的智能合约。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { ethers, run } from "hardhat";

async function main() {
  const ContractFactory = await ethers.getContractFactory("Artwork");
  const contract = await ContractFactory.deploy("Artwork Contract", "ART");


  // Wait for the contract to be mined and get the contract's deployed bytecode
  await contract.deployed();

  console.log("Contract deployed to:", contract.address);

  // wait 1 minute for the contract to be mined
  await new Promise((r) => setTimeout(r, 60000));

  // Verify the contract
  try {
    await run("verify:verify", {
      address: contract.address,
      constructorArguments: ["Artwork Contract", "ART"],
    });
    console.log(`Contract verified successfully.`);
  } catch (error) {
    console.error("Failed to verify contract:", error);
  }
}

main()
    .then(() => process.exit(0))
    .catch((error) => {
      console.error(error);
      process.exit(1);
    });

执行部署脚本:

1
npx hardhat run scripts/deploy_artwork.ts --network mumbai

解释一下上面的代码:

  • 我们首先使用 getContractFactory 方法获取我们的智能合约的工厂对象。
  • 然后,我们使用 deploy 方法部署我们的智能合约。我们将合约的名称和符号作为参数传递给构造函数。
  • 最后,我们使用 verify:verify 任务验证我们的智能合约。我们将合约的地址和构造函数的参数作为参数传递给任务。

需要说明的是:

  • deploy 之后要等 1 分钟,因为部署智能合约需要一些时间。如果我们立即验证智能合约,我们将得到一个错误,因为智能合约还没有被部署。
  • 当然验证合约你也可以通过命令完成,不写代码,验证的命令如下:
1
npx hardhat verify --network sepolia <contract address> "Artwork Contract" "ART"

与智能合约互动

如果我们在 Polygonscan 上查看我们的智能合约,你可以看到我们的合约已经通过验证。这在 Contracts 标签页中有一个绿色的对号表示。在 Contracts 标签页中,点击 Write Contract。现在点击「Connect to Web3」并连接你的 Metamask 账户。

我刚才部署的智能合约的地址是:0x7d64B6EDAcE2Cf8FfE57199406861E9fcEeb7364

现在选择 mint 操作并输入你的 tokenURI。我使用 https://kongz.herokuapp.com/api/metadata/5 作为我的 tokenURI。如果你愿意,你可以通过使用 IPFS 来托管你自己的 tokenURI。一旦你输入你的 tokenURI,点击「Write」按钮。这将显示一个 Metamask 弹出窗口。确认交易并等待其被确认。

恭喜你🥳🥳🥳,你的 NFT 已经成功铸造。你可以访问 Opensea Testnet 页面,用钱包登录之后,在「Profile」部分现在你可以查看你的 NFT。可以在这里查看示例。

结论

在本教程中,我们学习了 HardHat 的一些基础知识。我们编写了一个可以用于创建 NFT 的智能合约,为我们的智能合约编写了测试,最后将其部署到 Mumbai 测试网。我们还使用了 HardHat 插件和 Polygonscan API 密钥验证了我们的合约。使用类似的程序,我们可以构建任意数量的 DeFi 项目并部署到任何兼容 EVM 的网络(Ethereum, Polygon, Binance Smart Chain, Avalanche 等)。

参考资料

在学习过程中,我发现以下资料非常有用:

最后

本篇文章大部分内容都翻译自 《Create an NFT smart contract with HardHat》,并且结合我自己的实践做了一些修改,希望对你有所帮助。

本篇教程的代码已经上传到 Github,地址 hi-hardhat

股票技术指标 - 指数平滑异同移动平均线(MACD)指标

引言

MACD 也是股票技术分析中最常用的技术指标之一,经常被用来判断股票的趋势的转向。这篇文章主要介绍 MACD 指标的计算方法和使用方法。

什么是 MACD 指标

基础概念

MACD 是指数平滑异同移动平均线 (Moving Average Convergence Divergence) 的缩写,简称「指数平滑异同移动平均线」,代表一种趋势跟踪的动量指标。MACD 通常由 4 部分组成:

  1. DIF 值(快线):快线(短期指数平滑移动平均线)与慢线(长期指数平滑移动平均线)的差值。一般是 MA12 - MA26。
  2. DEA 值(慢线):DIF 的 9 日指数平滑移动平均线。
  3. MACD 柱(动能):DIF 与 DEA 之间的差值,柱状图。一般是 DIF - DEA。
    • 值是正数,表示快线在慢线之上,市场处于上涨趋势;
    • 值是负数,表示快线在慢线之下,市场处于下跌趋势。
  4. 0 轴:多空分界线,MACD 柱在 0 轴之上,表示多头市场;MACD 柱在 0 轴之下,表示空头市场。

黄金交叉和死亡交叉

  • 黄金交叉:
    • DIF 线上穿 DEA 线,表示股票处于上涨趋势,是买入信号。
    • MACD 柱由负数变成正数,表示股票处于上涨趋势,是买入信号。
  • 死亡交叉:
    • DIF 线下穿 DEA 线,表示股票处于下跌趋势,是卖出信号。
    • MACD 柱由正数变成负数,表示股票处于下跌趋势,是卖出信号。

如何使用 MACD 指标

MACD 指标比较适合做中长线操作。

买入点的判断

  • 如果你做长线:MACD 柱是正数,且 DIF 线和 DEA 线都在 0 轴之上,表示是买入信号;
  • 如果你做短中线:DIF 线和 DEA 线都在 0 轴之上,MACD 柱绿线缩短的时候就可以找买点了。

卖出点的判断

  • 如果你做长线,DIF 线和 DEA 线一直在 0 轴之上,表示股票处于上涨趋势,可以继续持有;如果 DIF 线和 DEA 线都在 0 轴之下,表示股票处于下跌趋势,可以考虑卖出。
  • 如果你做短中线,MACD 柱如果变成负数,即变成绿色,表示股票处于下跌趋势,可以考虑卖出。

总结:

趋势 多头 空头
快、慢线 两线在 2 轴之上做多不做空 两线在 2 轴之下做空不做多
红、绿柱 红柱缩短表示回调,绿柱缩短表示上涨 红柱缩短表示下跌,绿柱缩短表示反弹

示例

  1. 上涨趋势确认
  2. 下跌趋势确认

避免失误

  • MACD 指标是长线趋势的参考,不适合短线操作!!
  • MACD 指标的黄金交叉和死亡交叉是落后的指标,不能做短线进入的依据。
  • MACD 指标必须配合多头趋势或者空头趋势一起来判断。

MACD 背离

MACD 背离是指股价与 MACD 指标之间的背离,即股价与 MACD 指标的走势方向不一致。

这两种情况要注意了:

  • 股价上涨,MACD 红柱缩短,动能减弱,股价可能会下跌
  • 股价新高,MACD 红柱不是新高,动能减弱,股价可能会下跌

出现背离的情况,代表趋势即将改变。

总结

  • MACD 指标是一种趋势跟踪的动量指标,适合做中长线操作。
  • MACD 指标的黄金交叉和死亡交叉是落后的指标,不能做短线进入的依据。
  • MACD 指标必须配合多头趋势或者空头趋势一起来判断。
  • MACD 背离是指股价与 MACD 指标之间的背离,即股价与 MACD 指标的走势方向不一致,出现背离的情况,代表趋势即将改变。

股票技术指标 - 移动平均线(MA)指标

引言

MA 是股票技术分析中最常用的技术指标之一,经常被用来判断股票的趋势。这篇文章主要介绍 MA 指标的计算方法和使用方法。

什么是 MA 指标

MA 是移动平均线 (Moving Average) 的缩写,简称「均线」,代表过去一段时间内股票的平均价格。

计算方法

均线的计算方法相对简单。它是在一定时期内股票收盘价的平均值。

以下是计算均线的基本步骤:

  1. 选择一个时间段:这个时间段可以是任何你选择的连续天数。常用的有 5 日、10 日、20 日、60 日、120 日、240 日等。

  2. 加总这个时间段内的收盘价:例如,如果你正在计算 10 日均线,你就需要把过去 10 天的收盘价加总起来。

  3. 除以天数:然后,你把步骤 2 中得到的总和除以你选择的天数。例如,如果你在计算 10 日均线,你就需要把总和除以 10。

这个结果就是你选择的时间段内的均线值。

例如,计算 5 日均线的公式为:

1
MA5 = (P1 + P2 + P3 + P4 + P5) / 5

其中,P1、P2、P3、P4、P5 分别代表最近 5 天的收盘价。

需要注意的是,均线每天都在变动,因为每天都有新的收盘价加入计算,同时最早的收盘价被排除出去。

使用目的

均线的主要目的是帮助投资者理解股票价格的趋势。它可以提供以下几种重要信息:

趋势判断

当股票价格持续高于某一均线,特别是长期均线,如 50 日或 200 日均线,就可以认为股票可能处于上升趋势中。相反,如果股票价格持续低于某一均线,就可能处于下降趋势中。

买卖信号

短期均线和长期均线的交叉通常被视为买卖信号:

  • 买入信号:短期均线(如 5 日或 10 日均线)从下方穿过长期均线(如 50 日或 200 日均线),这被视为「金叉」。
  • 卖出信号:反之,如果短期均线从上方穿过长期均线,这被称为「死叉」。

支撑和阻力

支撑:均线有时也被视为可能的支撑或阻力水平。如果股票价格下跌到某个均线,并在那里停止下跌或反弹,那么这个均线可能就是一个支撑线。

阻力:相反,如果股票价格上升到某个均线,并在那里停止上涨或开始回落,那么这个均线可能就是一个阻力线。

价格与均线的偏离程度

价格与均线的偏离程度也能提供一些信息。

  • 如果股票价格远高于均线,可能表示过度买入,需要警惕价格回落的风险;
  • 如果股票价格远低于均线,可能表示过度卖出,有可能会有反弹的机会。

使用方法

简介

常用的均线有以下几种:

  • 5 日均线(MA5),即周线
  • 10 日均线(MA10),即半月线
  • 20 日均线(MA20),即月线,非常主要的均线
  • 60 日均线(MA60),即季线
  • 120 日均线(MA120),即半年线
  • 240 日均线(MA240),即年线,也有人用 250 日均线代替年线

根据你的风险偏好和投资周期,你可以选择不同的均线来判断股票的趋势,策略如下:

策略 超短线 短线 中线 长线
交易时间 日内 几天 几周 几个月
使用均线 1 分、5 分、16 分、60 分 3 日、5 日 20 日、60 日 120 日、240 日

另外:

  • 月线是最重要的均线,是短线操作的多空分界线
  • 季线是中长期操作的多空分界线
  • 趋势多头在月线之上,月线上扬,做多;趋势空头在月线之下,月线下跌,做空

单一均线交易法

一周左右的短线我们主要看 5 日、10 日、20 日均线。单一均线交易法是指我们选一个均线,比如 5 日均线,然后根据这个均线的走势来判断买卖。

看一下中国科传的例子:

  • 在上图 1 的位置之前三条均线很乱,不建议入场。回撤但是 MA5 一直在 MA10、MA20 之上,这时候是一个很不错的入场点。
  • 当 MA5、MA10、MA20 三条均线都向上,且 MA5 在 MA10、MA20 之上,且 MA10 在 MA20 之上,这时候可以入场,建议在收盘前 10 分钟左右入场。新手不建议在盘中操作。
  • 止损点:把进场当日股价的最低价设置为止损点,如果股价跌破这个点,就卖出。
  • 每天收盘前 10 分钟左右检查一下,没有跌破止损点就继续持有,直到出现卖出信号。
  • 卖出信号:收盘前 10 分钟左右,股价跌破均线就卖出。如果你是 MA5 进场的就看 MA5,如果你是 MA10 进场的就看 MA10,依此类推。MA5 太累了,所以我推荐 MA10。

原则:

  • 此方式只适用于多空趋势明显的时候(当 MA5、MA10、MA20 三条均线都向上,且 MA5 在 MA10、MA20 之上,且 MA10 在 MA20 之上我们称之为多头趋势),不适合震荡期间。
  • MA20 均线向上时,适合做多,MA20 均线向下时,适合做空。
  • 无论是做多还是做空,都要以快收盘价为准,即在收盘前 10 分钟左右,手动操作,防止盘中出现大幅波动。
  • 日线和周线皆可操作。
  • 入场和出场看同一个均线,比如入场看 MA5,出场也看 MA5。
  • 均线选择:
    • MA5:短线操作,一周左右
    • MA10:中短线操作,一周到一个月
    • MA20:中线操作,一个月左右

真假金叉

我们知道短均线(MA5、MA10)从下往上穿过长均线(MA20、MA60)时,称之为金叉,是买入信号;反之,称之为死叉,是卖出信号。

如上图 1 所示,MA5 从下往上穿过 MA20,股价也随之上涨,这是一个典型的金叉买入信号。

但是有时候并不是这样的,比如上图 2 的位置,MA5 从下往上穿过 MA20,但是股价并没有上涨,反而下跌了。因为此时长均线 MA20 仍然向下,这种情况我们称之为假金叉,不可盲目买入。

注意事项

需要注意的是,均线是延后指标,意味着它基于过去的数据。因此,它不能预测未来价格,只能提供对当前市场趋势的理解。

同时,任何技术指标都不能保证 100% 的准确性,因此在使用均线时,投资者还需要结合其他技术指标和市场信息。以下是一些可能导致均线失效的情况:

震荡市场

在震荡或横盘的市场中,股票价格可能会频繁地在均线上下穿越,导致均线生成的买卖信号失效。在这种市场环境中,均线往往会产生许多假信号,使得投资者反复买入和卖出,增加交易成本。

市场新闻或突发事件

重大的市场新闻或突发事件,如公司的财报发布、突然的经济政策变动、大规模的市场恐慌等,都可能导致股票价格短时间内大幅波动,这种情况下,均线可能无法及时反应这些变化。

短期极端价格波动

如果股票价格在短期内发生极端波动,比如由于市场操纵或其他非常规行为导致的大幅度价格波动,那么均线也可能失效,因为它是基于过去一段时间的平均价格计算的,可能无法反映出这种短期内的极端变动。

总结

均线是一种简单而有效的技术指标,它可以帮助投资者更好地理解市场趋势,从而做出更好的投资决策。在使用均线时,投资者需要注意以下几点:

  • 均线是一种趋势指标,可以帮助投资者更好地理解市场趋势。
  • 均线是一种延后指标,不能预测未来价格。
  • 均线的选择需要根据投资者的投资目标和投资周期来确定。
  • 均线的使用需要结合其他技术指标和市场信息。
  • 均线在震荡市场、市场新闻或突发事件、短期极端价格波动等情况下可能失效。

如何你看完本篇文章有任何疑问或者建议,欢迎在下方留言,我会及时回复。

如何通过逼空来赚钱?

引言

逼空是一种投资策略,它的目的是通过买入股票来迫使空头平仓,从而推高股价。逼空是一种高风险高回报的投资策略,它的风险在于,如果空头不平仓,那么逼空者将会面临巨大的损失。

这篇文章将会介绍逼空的原理,以及如何通过逼空来赚钱。

什么是做空?

在讲逼空之前我们要先了解什么是做空?做空是一种投资策略,当你看空某个股票的时候,预期其股价接下来会下跌,那么你就可以通过做空来赚钱。

做空有两种方式,一种是买看跌期权一种是直接卖股票,我们这里只针对后者进行讨论。

做空股票,操作上你可以直接在券商平仓卖出股票,即向市场借入股票,日后归还股票就可以了。这个过程中券商会向你收取利息,直到你归还股票为止。

什么是逼空?

当被大量做空的股票其价格上涨而不是下跌的时候,就会出现逼空的情况。比如,一家公司的股票预计将下跌,但却收到了一份重要的好消息,股价就会飙升。

在这种情况下,空头卖方将面临巨大的损失,因为他们必须在合约到期日购买他们最初借来的股票。空头卖方将不得不购买股票以平仓,从而推高股票价格。

所以逼空最关键的是利好消息,这个消息可以是公司的业绩,也可以是公司的重大事件,比如收购,或者是公司的重大合作。让空头短期面临压力,从而迫使他们平仓。

逼空的利弊

参与逼空有利有弊。让我们看一下这种投资策略的优缺点:

优点

  • 理论上收益无限:逼空最大的吸引力在于,空头卖方在合约到期日必须购回他们做空的股票,无论价格如何。这意味着,如果确实发生了逼空,作为投资者,您从交易中获得的总利润没有上限。
  • 对投资者的风险比空头卖方低:如果您投资一只股票,希望发生逼空,但它并未发生,您可能会失去的最多是您投资的金额。另一方面,空头卖方可能面临超过 100% 的亏损,还可能受到保证金调用和利息的影响。如果您购买长期期权,则预测逼空变得更加低风险,因为如果股票价格没有如您预期地上涨,您可以选择不执行该期权。

缺点:

  • 可能会导致亏损复利:虽然正确地逼空可能会导致实现几乎无限的利润,但被困在逼空的炒作中也可能会让您亏损。例如,在当前 GameStop 的逼空中,GME 股票的价格在 2021 年 1 月 27 日达到约 347 美元的峰值。仅仅一周后的 2 月 3 日,GME 股票的平均价格为 92.41 美元。如果投资者在 2020 年 10 月左右 GameStop 股票交易价格约为 14 美元时买入,这不会成为问题,但在 1 月份围绕 GME 的炒作和激情中,许多投资者以 300 美元或更高的价格买入。仍持有这些投资的人可能损失了数百甚至数千美元,而几乎没有希望恢复。
  • 可能会让您持有一个基本面不稳定的股票:正如我们所述,与逼空相关的股票价格的急剧上涨通常与其相关公司的基本面关系不大。这意味着,如果您错过了逼空的出口点,长期持有股票可能不是一个可行的选项。尤其是考虑到重度空头抛售的股票通常与财务上失败的公司相关联。

预测逼空

预测逼空的时机可能会具有挑战性。以下是一些指标,可以用来预测逼空何时到来:

  • 高空头利息百分比:空头对特定股票的投资者或投资公司越多,到期日回购该股票的竞争就越激烈。随着更多的投资者对资产进行空头,该资产的利息随着需求的增加而上升。更多的投资者对股票进行空头可能会使抛空更为有效。

  • 高空头利息比率:股票的空头利息比率是通过将股票的当前空头利息除以其平均每日交易量来计算的。空头利息比率告诉你,一个空头卖家平均需要多长时间来平仓他们的当前头寸。空头利息比率越高,逼空的可能性就越大,因为回购股票的竞争激增。

看一个实例

GME 2021-01-25 被逼空,那个时候散户联合起来搞机构,散户的钱都是美联储疫情发的,所以他们不在乎。另外需要注意的是逼空行情不适合长期持有,因为逼空的股票基本面都不好,所以逼空的时候要及时出货。

我应该参与逼空吗?

随着无限利润的可能性,参与逼空可能既刺激又有利可图,看上去是一个不错的策略。然而逼空也可能对空头持有人和卖家都带来风险。如果你决定参与这些更高风险的动作,记住永远不要投资超过你能承受损失的金额。

我是如何参与逼空的

赌突发新闻太难了,所以我觉得赌财报日是一个不错的选择。被严重做空的股票有一个特点,如果有利好消息,股价会暴涨,比如我最近观察并且有参与的股票有:

  • NVAX:财报好于预期,股价暴涨 27%
  • CVNA:财报好于预期,股价暴涨 26%
  • UPST:财报好于预期,股价暴涨 36%

当然也有财报不行,然后继续跌的,但是如果涨的话一般都是暴涨。所以我觉得财报前买一张末日 CALL 是一个不错的选择,虽然期权的 IV 值比较高,但是我觉得还是值得的。

关注高空头利息百分比,当某个股票的空头利息百分比超过 30% 的时候,我会关注这个股票,然后看看财报日,财报日前,我会买一张末日 CALL 当彩票,这个钱要做好归零的打算,所以不要投入太多。

查看被做空的股票

PS:前两个网站数据每两周更新一次,后面两个网站没看到更新说明。

总结

逼空是一种高风险的投资策略,但如果您能够正确地预测逼空的时机,它可能会带来巨大的回报。选择财报日逼空是一个不错的选择,另外需要注意的是,逼空的股票基本面都不好,所以逼空的时候要及时出货。

本地多 GitHub 账号使用

引言

如果你在公司也试用 Github 托管代码的话,你可能会遇到一个问题,本地同时使用你的个人账号和公司账号。

那么本篇文章就为你分享如何在本地同时使用多个 Github 账号。

SSH 配置

生成工作需要的 ssh

这里默认你已经有了个人的 ssh 密钥,如果没有的话,你需要先生成个人的 ssh 密钥。

1
ssh-keygen -t rsa -b 4096 -C "forecho@work.com" -f ~/.ssh/work

配置 host

1
vim ~/.ssh/config
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Host *
    ServerAliveInterval 60

#default github
Host github.com
    HostName github.com
    IdentityFile ~/.ssh/id_rsa

Host w.github.com
    HostName github.com
    IdentityFile ~/.ssh/work

使用

如果要使用 work 密钥,则这样 clone 代码

1
git clone git@w.github.com:work/xxx.git

配置 Git User 问题

先取消全局 可选操作

1
2
git config --global --unset user.name 
git config --global --unset user.email

配制个人 SSH

1
vim ~/.gitconfig
1
2
3
4
5
6
[user]
    name = forecho
    email = echo@forecho.com

[includeIf "gitdir:~/work/"]
    path = ~/work/.gitconfig

工作目录单独设置

1
vim ~/work/.gitconfig
1
2
3
[user]
    name = work
    email = forecho@work.com

检查

1
git config --list

市场净流量:金融交易中的关键工具与策略

引言

市场净流量是一种金融交易中的关键工具,用于评估市场中的多空情绪。通过综合分析市场净流量、技术分析和其他交易策略,交易者可以更准确地预测市场走势并做出更明智的投资决策。

本文将详细介绍市场净流量的概念、如何分析市场净流量以及如何将其与其他交易策略结合使用。

最后,本文还将介绍 Tradytics 的市场净流量指标的使用方法,帮助交易者更好地分析市场净流量。

市场净流量的概念与重要性

市场净流量(Market Netflow)是一种基于期权交易数据的指标,用于评估市场中的多空情绪。它通过比较看涨期权和看跌期权的交易量来测量市场的乐观或悲观程度。

  • 当市场净流量呈现看涨趋势时,意味着市场中的多头力量较强;
  • 当市场净流量呈现看跌趋势时,意味着市场中的空头力量较强。

市场净流量在金融交易中的重要性在于,它可以帮助交易者更准确地预测市场走势,从而提高交易决策的准确性。

此外,市场净流量还可以与其他交易策略结合使用,为交易者提供更全面的市场分析。

分析市场净流量的方法与注意事项

  • 分析市场净流量关键:观察趋势,使用工具查看数据,评估多空情绪。
  • 注意事项:考虑期权交易量和到期日影响。
  • 对冲功能影响:分析主要交易所如 SPY、QQQ、IWM 时,关注市场整体净流量,而非单个股票的净流量。

将市场净流量与其他交易策略结合使用

  • 结合市场净流量与技术分析:融合市场净流量与技术分析,提高交易决策准确性。如结合成交量分析和图形模式寻找入场点。

  • 结合市场净流量与其他交易策略:集成市场净流量与谐波分析、斐波那契回调、艾略特波浪等策略,全面分析市场,制定有效策略。

  • 利用历史数据进行回测:回测历史数据,理解市场净流量与市场走势关系,优化交易策略。

Tradytics 的市场净流量指标

  1. 最近几天的数据,默认是 1 天
  2. 动能指标,用于评估市场的多空情绪(默认是 60 分钟的趋势),一个可以用来进入和退出市场的简单技术指标。
  3. 到期时间:筛选出所有距今天 x 天的期权,可以使用此功能仅查看短期期权的净流量,以预测非常短期的动向,默认是无限制,即所有期权。
  4. Cumulative Net Prems:累计净期权费用,负数看跌,正数看涨。
  5. 负数的 Algo Flow 是红色,代表看跌的
  6. 正数的 Algo Flow 是绿色,代表看涨的
  7. 关注红绿线的交叉点,红线向上穿过绿线,代表看跌的力量变强,可以做空;绿线向上穿过红线,代表看涨的力量变强,可以做多。
  8. 点击代表使用 Markete Net Flow 将动量作为您的技术指标。
  9. 一些动能指标的信号,如 9 所示,这些信号可以作为交易的参考。

Algo Flow 是一个金融市场分析工具,它帮助交易者在股票、期权、ETF 等交易中识别市场情绪、成交量和买卖力量的变化。Algo Flow 通过分析大量的交易数据,尤其是市场参与者的成交量、价格行为和持仓变化,为交易者提供有关市场趋势和潜在交易机会的信息。

另外,需要说明的是:

  • Tradytics 的市场净流量指标是关注整个市场的数据,不是单个股票的数据,因此可以更好地反映市场的多空情绪。
  • 不要通过一个技术指标来决定交易,一个指标容易出错,但是结合多个指标,就可以减少出错的可能性。

使用场景

看懂了市场净流量的概念和使用方法,接下来就是如何运用市场净流量指标进行交易。

选一个月之后到期的 SPY 期权交易,看看市场净流量的走势。重点关注 Algo Flow,当 Algo Flow 为负数时,代表看跌的力量较强,可以做空;当 Algo Flow 为正数时,代表看涨的力量较强,可以做多。简单点的话就选择一个方向,只买 CALL 或者 PUT,根据市场净流量图来回做波段。

SPY 期权流动性足够好,一个月到期的期权容错性高,风险低。

缺点就是需要盯盘,有点累。

总结

市场净流量是一种重要的金融交易工具,可以帮助交易者更准确地评估市场中的多空情绪。通过结合市场净流量、技术分析和其他交易策略,交易者可以提高交易决策的准确性,并实现更高的投资回报。

此外,交易者还可以利用历史市场净流量数据进行回测,以优化自己的交易策略。

总之,市场净流量是金融交易中的一种关键工具,值得交易者重视和运用。

使用 Tradytics 进行日内期权交易

引言

前一段时间和几个朋友以一个非常低的价格拼车买了 Tradytics 的会员,一有时间我就研究如何使用,虽然 Tradytics 太复杂了,但是有很多有用的数据,可以帮我们看清目前的市场状况,然后做出正确的交易决策。

我会把我学到的东西分享出来,希望能帮助到大家。系列文章点击 Tradytics 查看。

Tradytics 是什么?

Tradytics 是一个人工智能驱动的交易平台,提供了各种工具来帮助我们在市场上获得优势,它每天分析超过一百万个数据点,来自期权流量、股票日内数据、新闻、内部交易等。

基于这些分析,通过专有人工智能算法,提取有用信息,帮助我们提前评估市场走向。

找到日内期权交易的标的

了解期权市场摘要

访问 Options Market 了解市场的详细视图和统计数据,将有助于我们选择合适的交易方向。

上图是汇总的市场净流量是将市场中所有股票的净保证金与 SPY 股价进行比较,可用于预测市场方向。点是基于动量的进入点。请观看视频指南了解更多详情。

我认为这是 Tradytics 最有用的功能之一,因为它可以帮助我们快速了解市场的走向。

顶级期权流量

从「TOP OPTIONS FLOW」开始:

  1. 每日最佳期权流向:每日具有最高和最低权利金的股票。净权利金是看涨和看跌头寸之间的差额。

  2. 每周热门期权流量:每周具有最高和最低净权利金的股票。净权利金是认购期权权利金与认沽期权权利金之差。

顶级期权溢价

  1. 成交量变化最大的 CALL:相对于过去 7 天平均数,CALL 成交量变化最大的股票。
  2. 成交量变化最大的 PUT:相对于过去 7 天平均数,PUT 成交量变化最大的股票。
  3. 权利金变化最大的 CALL:相对于过去 7 天平均数,CALL 权利金变化最大的股票。
  4. 权利金变化最大的 PUT:相对于过去 7 天平均数,PUT 权利金变化最大的股票。

观察这几个数据,从中挑选出你要交易的期权标的。

最大流量的期权

大流量期权数据显示极其庞大的期权订单,鼠标悬停在图表上,可以看到具体的数据。

这有时可以展示聪明资金、对冲或内部知情者的行为。

便宜的期权

钱不够多,但是想交易期权?这里有一些价格低但交易量大的期权。如果你想避免时间价值损失,可以选择 LEAPs(长期股票期权) 。

  1. 临近到期的高交易量期权:这些期权通常很快到期,这种期权时间价值损失很快。
  2. 到期日在几个月后的高交易量期权:这些期权的时间价值损失很慢,因为到期日很远。

分析具体的期权

期权交易概况

使用 Options Dashboard 的搜索功能查看具体股票期权交易情况和概况。

  1. 每日保证金热力图:TSLA 热力图展示了在顶级行权价和到期日上花费的每日净保证金。
  2. 每周保证金热力图:TSLA 热力图展示了在顶级行权价和到期日上花费的每周净保证金。
  3. 历史净保证金:TSLA 每日看涨和看跌期权的净保证金。净保证金是买入头寸支出的保证金减去卖出头寸支出的保证金。 4.净流量:历史净流量显示累计的看涨和看跌期权保证金,是从算法流派中得出的。目前显示 1 天的净流量。

成交量和持仓量热力图

TSLA 在各个行权价和到期日的成交量和未平仓合约指标。当前选择为净值,即看涨期权未平仓合约数减去看跌期权未平仓合约数。

图片右上角可以选择其他指标以及筛选条件。

具体期权合约

  1. 最大的订单:按总权利金支出计算,TSLA 的最大订单。鼠标悬停在图表上,可以看到具体的数据。
  2. 不寻常的合约:在成交量高于持仓量方面最不寻常的订单。鼠标悬停在图表上,可以看到具体的数据。
  3. 成交量最大的 CALLS:按成交量和已支付保证金计算的 TSLA CALL 中的最大期权 - 仅考虑购买头寸。
  4. 成交量最大的 PUTS:按成交量和已支付保证金计算的 TSLA PUT 中的最大期权 - 仅考虑购买头寸。

最后,这里只列举了部份,其他的数据可以去 Options Dashboard 自行查看。

Bullseye

Bullseye 是基于人工智能的直接预测期权合约价格是否会上涨或下跌。

  1. 自警报发布以来,合同价格变化了多少?

从图中我们看出,其实胜率不高,需要待观察。

买卖时机

Tradytics 的 Stocks Dashboard 拥有一个买卖点算法引擎,使用移动平均线和自动生成的支撑阻力线来建议买入和卖出的时机。

更多可以参考《用 Tradytics 日交易》 这篇文章找到支撑和阻力线。根据这些线,我们可以找到买卖时机。

最后

Tradytics 是一个非常好的工具,可以帮助我们更好的分析期权和股票。但是,我们还是要注意,这些数据只是辅助,不是决定性的,我们还是要结合自己的分析和判断。也不要因为一个指标而做出决定,要结合多个指标,才能更好的分析。

从智能合约到发行 NFT

引言

这两年 NFT 非常火,但是我一直没有系统的去了解过,今年准备好好学习 WEB3.0 相关的知识,所以就从智能合约和 NFT 入手了。

这篇文章主要是记录我学习智能合约和 NFT 的过程,分享一些学习资料,希望能帮助到大家。

智能合约

起源

  • 智能合约的概念最早是由美国计算机科学家 Nick Szabo 在 1994 年提出的,当时他称其为「合约代码」。
  • 在比特币的诞生和普及后,智能合约逐渐得到了广泛的关注和应用。
  • 智能合约在区块链技术的基础上实现了不需要第三方的自动执行合同的能力,这是一项非常具有革命意义的技术。

特点

  • 去中心化:智能合约的执行不需要任何中间机构或个人的介入。
  • 自动执行:智能合约代码在执行过程中不需要人为干预。
  • 透明:智能合约的代码和执行结果对所有人都是可见的。
  • 安全:智能合约代码是不可更改的,执行结果也是不可篡改的,这保证了合约的安全性。

工作原理

智能合约基于区块链技术和分布式计算技术实现。

智能合约被编写为一段计算机程序代码,并被部署在区块链上的智能合约平台中。当用户想要执行一个智能合约时,他们会向合约发送一个交易请求,智能合约会对交易请求进行验证和执行相应的程序代码,并将结果写入区块链上的交易记录中。

智能合约的执行结果会被广播到整个区块链网络中,所有节点进行验证和确认,最终被写入区块链上的区块中。

智能合约具有去中心化、不可篡改、自我执行、高度安全等特点。

与传统合约区别

特点 传统合约 智能合约
执行方式 人工执行 自动执行
中心化程度 中心化 去中心化
可信度 风险较高 高度可信
成本和效率 成本高、效率低 成本低、效率高
应用范围 法律和商业领域 广泛应用

应用

智能合约在什么地方有应用

  • 区块链金融:用于数字货币、智能投资、分布式交易、借贷、保险等金融领域,以提高金融交易的效率和安全性。
  • 物联网:用于智能家居、智能城市、智能工厂等物联网场景,以实现设备之间的自动化交互和数据共享。
  • 版权保护:用于音乐、电影、游戏等知识产权保护领域,以确保创作者能够获得他们应得的收益。
  • 医疗卫生:用于电子病历、药品追溯、医疗数据管理等领域,以提高医疗卫生服务的质量和安全性。
  • 政务服务:用于政务服务领域,例如政府采购、社会保障、土地管理等领域,以提高公共服务的效率和透明度。
  • 游戏业:用于游戏领域,例如游戏道具交易、游戏账号管理等领域,以提高游戏交易的安全性和透明度。

Ethereum 与智能合约的关系

Ethereum(ETH)是一种基于区块链技术的数字货币,同时也是一种开源的区块链平台,其中最重要的功能之一就是支持智能合约的开发和运行。因此,ETH 和智能合约有着密切的关系。

ETH 通过引入智能合约技术,使得开发者可以在区块链上编写和运行自己的应用程序,这些应用程序被称为「去中心化应用(DApps)」。智能合约是这些 DApps 的核心组件,它们是一种能够自动执行合约条款的计算机程序,其执行过程基于区块链上的共识机制,并且可以实现可信的去中心化的交易和信息交互。

因此,ETH 和智能合约的结合,使得 ETH 平台上可以实现各种去中心化的应用,例如数字货币交易、投资管理、分布式市场、金融衍生品、电子投票、数字身份认证等,这些应用都依赖于智能合约来实现自动化的执行和管理。所以说,智能合约是 ETH 平台的重要组成部分,也是 ETH 成功的重要原因之一。

如何编写智能合约

编程语言

智能合约的编程语言有很多种,但是目前最常用的是 Solidity。其他还有:

  • Vyper
  • Chaincode

开发环境

  • 本地搭建(不推荐)
  • 在线 IDE
    • Remix:适合简单的合约开发
      • 无法长期存储,容量 5M
      • 插件多,可以直接部署调试
    • Replit:适合较复杂的合约开发
      • 支持线上 Solidity 开发部署
      • 支持 UI 可视化交互
  • 框架开发

Solidity

Solidity 是一种面向对象的、基于合约的、高级的、静态类型的、通用的、编译型的、类 C 风格的语言,它是一种用于编写智能合约的语言。

这门编程语言总共包含四种不同的重要元素,Contract、Variable、Function 和 Event。

Contract Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.8.2 <0.9.0;

/**
 * @title Storage
 * @dev Store & retrieve value in a variable
 * @custom:dev-run-script ./scripts/deploy_with_ethers.ts
 */
contract Storage {

    uint256 number;

    /**
     * @dev Store value in variable
     * @param num value to store
     */
    function store(uint256 num) public {
        number = num;
    }

    /**
     * @dev Return value 
     * @return value of 'number'
     */
    function retrieve() public view returns (uint256){
        return number;
    }
}

开头写明合约协议,接着要写 solidity 版本号,这个合约的功能是存储和读取一个数字,这个数字是一个 uint256 类型的,也就是 256 位的无符号整数,这个数字可以被任何人存储和读取。

ABI

ABI(Application Binary Interface 是指在两个不同程序之间进行交互的规范,其定义了函数调用的参数、返回值、异常处理等方面的约定。

在以太坊中,ABI 是指用于定义智能合约与外部世界进行交互的规范。智能合约在部署时会生成一个 ABI,其他应用程序可以通过 ABI 来与智能合约进行交互。

ABI 定义了智能合约的接口,包括智能合约的函数名、参数类型和返回值类型等信息,通过 ABI,外部应用程序可以调用智能合约中的函数,并获得相应的返回值。

通常,编写智能合约时会生成一个 ABI 文件,我们可以将这个文件提供给客户端库,以便客户端库生成相应的接口,来与智能合约进行交互。

发布

合约一般先发布到测试网络,测试通过后再发布到主网。发布之前我们需要准备:

  • 钱包,测试网钱包:可以使用 MetaMask 创建帐号
  • 水龙头,测试网的 Gas fee:可以去官网领取

步骤:

  • 先在 Remix 中编写合约
  • 点击 Compile,编译合约
  • 点击 Deploy,部署合约

任何操作都可以看日志输出的信息,发布成功之后可以去 Etherscan 查看合约信息。可以查看我发布的合约

OpenZeppelin

OpenZeppelin 是一个开源的以太坊智能合约开发库,提供安全、可靠和易于使用的智能合约组件和工具,帮助开发者构建更安全的智能合约。它提供了许多常用的智能合约组件,例如 ERC20、ERC721、SafeMath、AccessControl 等,可以帮助开发者减少重复造轮子的时间和成本,同时提高智能合约的安全性。

NFT 合约

通过 OpenZeppelin 生成我们 NFT 的初始化代码,代码复制到 Remix

然后修改代码,通过编译检查代码,然后发布。

测试合约:

  • 点击 safeMint 右边展开,approve 输入我们要 Mint 的钱包地址,比方说 0x7f303C3cA6FE9C2A3ebabDeC69c54FE8102bDb9F ;uri 输入 NFT 的 metadata URL(可选操作,不然 NFT 没有图片);然后点击 transact 开始 mint;
  • 检查日志,确认 Mint 状态
  • OpenSea 输入钱包地址,Check NFT。

这个就是我发布的 NFT。

当然我上面为了演示效果,搞清楚流程。实际的合约代码要比这个复杂的多,最主要的是还要考虑安全性,并且还要做一些限制等等,以后有机会再进一步研究分享。

智能合约都是开源的,附上两个智能合约链接,有兴趣可以研究研究。

总结

本文主要介绍了智能合约和 NFT 的一些基础知识,并且通过实践演示了如何发布一个 NFT 合约,搞清楚了发布流程。

参考

重新了解美股市场

引言

玩了几年美股,以前都没好好了解美股市场,直到去年熊市才开始疯狂学习美股市场。我打算出一系列学习美股的文章,这是此系列的第一篇。

如果你是一个美股新手,那么这篇文章适合你。

为什么投资美股?

股票市场

根据 Statista 提供的数据,截至 2022 年 1 月,全球最大股票市场的国家分布,按总世界股权市值占比划分。美股市场是世界上最大的股票市场,它的市值是全球股票市场的 60%(接近)。而中国股市的市值不到 4%,差距非常大。

全球市值最大的 10 家公司

根据 CompaniesMarketCap 网站提供的数据,截至 2023 年 3 月 3 日,全球市值最大的 10 家公司有 9 家来自于美国。前 20 名,算是台积电 (11 名) 的话,也只有三个,另外两个分别是腾讯(13 名)和茅台(20 名)。

由此可见,美股市场的市值和影响力是非常大的。如果你想要在股市里面赚钱,那么美股市场是你必须要了解的。

交易所

截至 2022 年 6 月,按电子订单股票交易的价值计算,全球最大的证券交易所排名。纽交所是全球最大的股票交易所,纳斯达克是全球第二大的股票交易所。

投资美股的优点?

投资美国股市有很多优点,以下是其中一些主要的优点:

潜在的高回报

美国股市中有许多高增长和高盈利的公司,这些公司的股票价格可能会随着时间的推移而大幅上涨,从而使投资者获得高回报。

多样化的投资机会

美国股市中有许多不同的行业和公司,投资者可以通过购买不同的股票,实现对不同行业和公司的多样化投资。

市场流动性

美国股市是全球最大、最活跃的股票市场之一,市场的流动性非常高,投资者可以随时买卖股票,方便快捷。

市场透明度

美国股市的交易信息和公司财务信息非常透明,投资者可以通过各种渠道获得公司的财务报表、分析报告和市场研究报告等信息,从而做出更明智的投资决策。

稳定的法律和政治环境

美国拥有稳定的法律和政治环境,股市监管机构对市场进行严格监管,保护投资者的权益,从而提高了投资的安全性。

税收优惠

美国政府为股市投资者提供了一些税收优惠政策,例如长期资本利得税率较低等,这些政策可以帮助投资者降低税收负担,提高投资回报。

特别是中国人炒美股,根本不用交税。

散户与机构

根据交易量和资产规模的差异,可以将美国股市的投资者分为散户投资者和机构投资者。

散户投资者通常是个人投资者,他们投资的资金规模较小,交易量相对较低。根据美国证券交易委员会(SEC)的定义,散户投资者的资产净值不超过 100 万美元。

机构投资者通常是机构或组织投资者,他们投资的资金规模较大,交易量相对较高。机构投资者包括投资银行、对冲基金、养老基金、共同基金等。根据 SEC 的定义,机构投资者的资产净值超过 100 万美元。

据统计,目前美国股市散户投资者的数量超过 1 亿人,占总投资者数量的大部分。而机构投资者的资产规模较大,持股比例也相对较高,他们在市场上的影响力也很大。同时,还有一些大型投资者,如对冲基金和私募股权基金,他们对市场的影响也非常显著。

说了这些是想说:

  • 机构不管在信息、经验、技术还有资金上都比散户要多
  • 散户唯一的优势就是资金少,操作灵活

散户就不要想着和机构抗衡了,你只能选择跟着机构的脚步喝口汤。

交易所

纽交所 && 纳斯达克

美国股市有两个主要的交易所,分别是纽约证券交易所(NYSE)和纳斯达克证券交易所(NASDAQ)。

粉单

另外,被退市的股票现在只能在粉单交易所进行交易,例如滴滴和瑞幸咖啡。然而,粉单股票存在高风险、不受监管、容易被操纵以及流动性不足等特点,并不适合大多数投资者选择。

投资者应该注意风险,并选择更稳定、成熟的公司进行投资,在进行充分的基本面和技术分析后做出决策。如果仍想投资粉单股票,则应保持谨慎态度,了解公司情况并制定合理的风险控制策略。

总结:远离毛票、粉单,只交易纳斯达克和纽交所上市的股票,不要只投资中概股。

美股市场

按照因子类型分类

按照因子类型对美股市场进行分类。可以分为以下几类:

价值股

指股票价格低于其内在价值的股票。价值投资者通常会寻找具有低市盈率、低市净率等价值因子的公司股票,认为这些公司股票的价格较低,有更大的上涨潜力。价值股市场通常包括金融、能源、消费品等行业。

成长股

指具有高增长潜力的公司股票。成长投资者通常会寻找具有高盈利增长率、高预期收益率等因子的公司股票,认为这些公司的未来增长潜力很大。成长股市场通常包括科技、医药、通信等行业。

质量股

指具有良好的财务状况和盈利能力的公司股票。质量投资者通常会寻找具有稳定的盈利、健康的现金流等因子的公司股票,认为这些公司更加稳健可靠。质量股市场通常包括消费品、医药、能源等行业。

动量股

指股票价格具有上涨趋势的股票。动量投资者通常会寻找具有过去强劲表现、近期涨幅较大等因子的公司股票,认为这些股票会继续上涨。动量股市场通常包括科技、消费品、工业等行业。

对应的 ETF

因子 ETF
大型价值 IVV
中型价值 IWS
小型价值 IWN
大型成长 IVW
中型成长 IJH
小型成长 IWO

价值股 VS 成长股

价值股特点:

  • 当前股价被认为低于其基本面
  • 共同特征包括:
    • 高股息收益率
    • 较低的市净率
    • 较低的市盈率
  • 由于投资者认为公司在市场上不利,因此被认为股价比较低

成长股特点:

  • 有望以比市场平均水平更快的速度增长销售额和收益的公司
  • 股价通常看起来很昂贵,市盈率很高,但是公司继续快速增长,将继续推高股价,这样的估值实际上可能是便宜的。
  • 由于投资者根据预期为增长的股票付出了昂贵的代价,因此,如果没有实现这些预期,增长股票可能会急剧下跌。
  • 股票通常没有股息

总结:来起来看,投资价值股的收益高于成长股。选哪个?根据你自己的性格,风格来选,两个投资风格非常对立。

常用的指数

常用的指数 代码 相关 ETF 说明
标普 500 SPX SPY、VOO、IVV 一个由 500 家大型美国公司的股票组成的股票指数,代表着美国股市的大部分市值
道琼斯 DJI DIA 一个由 30 家大型美国公司的股票组成的股票指数,代表着美国工业领域的市值
纳斯达克 100 NDX QQQ 由纳斯达克股票市场上前 100 家市值最大、最活跃的非金融公司股票组成的指数
罗素 2000 RUT IWM 由美国股票市场上前 2000 家市值最小的公司股票组成
恐慌指数 VIX VXX 旨在跟踪 S&P 500 指数波动率指数(VIX)期货合约的表现,以提供对市场恐慌情绪的投资暴露

其他资产

其他资产 ETF 代码 说明
10 年国债收益率 IEF 与 ETF 是倒数关系
20-30 年期国债收益率 TLT 与 ETF 是倒数关系
美元指数 UUP
黄金 GLD
CPER 对经济先行指标
原油 USO
天然气 UNG

外部因素

影响美股大盘的主要外部因素:

  • 美联储政策:市场认为美联储不会让市场崩盘,跌到一定程度,会救市。
  • CPI 和非农就业人口
  • 利率:强负相关
  • 十年期国债收益率:负相关
  • 美元汇率:弱正相关
  • 突发事件
  • 整体经济

美股行业

11 大类行业

美股主要分 11 大类行业:

  • 能源:石油和天然气行业,注意不包括新能源(公用事业),ETF 是 XLE,股票代表 XOM,DVN
  • 材料:提供用于制造和其他应用的各种商品的公司。如化学品,建筑材料,容器和包装,采矿股、纸张、林木,ETF 是 XLB,股票代表 SHW 宣伟,DD 杜邦
  • 工业:如制造业,航空,铁路和物流等等,ETF 是 XLI,股票代表 BA 波音,X 美国钢铁
  • 非必须消费品:如汽车,酒店,奢侈品,休闲业,电商零售,ETF 是 XLY,代表亚马逊 AMZN,麦当劳 MCD
  • 必须消费品:包括食品,饮料和烟草行业的公司,以及家用和个人护理产品,ETF 是 XLP,股票代表可口可乐 KO,宝洁 PG
  • 健康:包括药品,生物技术,医疗设备,ETF 是 XLV,代表辉瑞 PFE,强生 JNJ
  • 金融:如银行,保险公司等,ETF 是 XLF,代表摩根 JPM,伯克希尔哈撒韦公司 BRK.A BRK.B
  • 信息科技:科技公司、半导体等等,ETF 是 XLK,代表苹果 AAPL,微软 MSFT
  • 电信:包括电信服务和社交媒体,ETF 是 XLC,代表 FB,GOOGL
  • 公用事业:包括输电网,新能源等等,ETF 是 XLU,代表 DUK 杜克能源
  • 房地产:包括房地产开发,房地产信托投资 REIT,ETF 是 XLRE,代表 STOR
行业板块 ETF
科技 XLK
电信通讯 XLC
健康医疗 XLV
必须消费品 XLP
非必须消费品 XLY
公共事业 XLU
材料 XLB
金融 XLF
工业 XLI
房地产 XLRE
能源 XLE

工具

Koyfin

Koyfin 提供了金融市场数据分析,是一个了解市场大盘走势很好的工具,免费版基本够用。

Finviz

Finviz 的 S&P 500 Map 可以查看每天大盘的整体行情。

Breadth

使用 Breadth 可以查看每天大盘的整体市场宽度。

什么是市场宽度?

一个稳健的牛市,应该是大部分股都上涨,如果仅有少部分个股上涨来带动大盘上涨,那么这样的市场就是两极分化,其实是不稳定的,同样的,真正的熊市,也应该是大部分股票在跌,而不是个别股票导致大盘下跌。

所以分析师们设计了一些市场宽度指标,它们不是用于判断个股,而是通过统计大量的股票上涨和下跌情况,用于判断到底是个别股的作用,还是大部分股的共同作用,来影响了大盘走势。

Breadth 指标

  • 统计的是标普 500 成分股高于 20 天移动平均线的比例。
  • Breadth 小于 200(红)表示大盘可能反转,后市看涨【仅参考】
  • Breadth 高于 900(绿)为极值区,大盘可能反转,后市看跌【仅参考】
  • 这个指标可以判断大盘目前是否健康
  • 每次市场由红专绿或由绿转红,经常会有一两个板块引领

总结

美股是一个非常复杂的市场,同时也是一个非常完善的市场,我们要学会分析大盘,分析因子,分析板块,分析个股,我们可以每天分析、总结大盘走势,以及预判股票未来走势,虽然你的预判不一定准备,但是你可以训练你自己,提高准确率。

每天可以问自己两个问题:

  • 今天的股市走的怎么样?
  • 资金在各因子和板块之间如何流动的?

分析大盘、因子了解资金的流向,个股不重要。

用 Tradytics 日交易

引言

Tradytics 是一个美股期权交易平台,提供了很多有用的数据,可以帮助我们日交易。今天就来介绍一下如何使用 Tradytics 日交易。

使用 Tradytics 日交易

主要是使用 TICKER DASHBOARDS 下面的三个 Dashboard,使用这三个工具的主要目的是找到指定股票当天的阻力点和支撑点,然后在这些点位上进行交易。

Stocks Dashboard

主要目的就是添加 GEX 线

  • 找到 Timeframe,切换成 5 分钟
  • 找到 Greek Levels,选「Spot GEX」然后选「All」,然后点「Copy to TradingView」获得 GEX 线。说明:
    • 红线代表做市商会卖
    • 绿线代表做市商会买
  • 然后使用同样方法获得 1 小时线
  • 没必要把所有的线都加上

Options Dashboard

期权状态。先预览整个状况,绿色代表看涨,红色代表看跌。

然后查看「OPEN INTEREST BY STRIKES」了解未平仓期权数(IO),注意要选择最近到期的日期(只看末日期权)。绿色未平仓数数量最大的是阻力线,选两个记录下来。

这个数据每日早上盘前更新,所以记得盘前确认一遍。

了解做市商仓位,查看最新的 Deltas 数据,如果:

  • delta 是正数说明:机构和散户看空,他们买 PUT 或者卖 CALL
  • delta 是负数说明:机构和散户看多,他们买 CALL 或者卖 PUT

查看做市商的 IO(未平仓期权数),同样选择末日时间,然后获取到 3 个最大的数字,记录下来。

查看 SPOTGEX,确认 GEX 线,GEX 每日首次更新时间是开盘时间,然后每 2 个小时 tradytics 更新一次,偶尔过来看一下最新的 GEX 线。

Darkpool Ticker

暗池数据,展示当前股票一个月以来暗池最大的交易情况:

  • 红色代表阻力
  • 绿色代表支撑

选 5 分钟和 1 小时的情况,选择几个交易量最大的点位,记录下来。

最后

Tradytics 是一个很好的工具,它的很多数据其他平台都没有,至于如何使用这些数据,就看你的能力了,它为你交易决策提供了很多数据,你需要做的就是把这些数据整合起来,然后做出决策。

来香港办香港银行卡

引言

公司让我们来香港出差,我顺便办了香港银行卡,这里记录一下办卡的过程。

中国银行香港卡

经过

我是从深圳北坐高铁过来的,早上到达香港,出站之后,就百度附近的中国银行,最近的一家在中港城,走十几分钟就到了。

我们大概 10 点半左右到了中国银行香港营业厅,门口取号,给我的是 70 号,目前正在办的是 9 号,一个号大概要办理 45 分钟,工作人员在取号的之前都会告诉你,让你知道大概要等多久。

他们 17 点就下班了,70 号意味着你今天都不一定能办到卡,没想到工作日来香港办卡人都这么多,我看今天大概率没希望了然后我们就走了。

第二天我去酒店附近的分行办卡,人很少,去了就差不多可以办卡了,所以我建议大家不要去中港城的中国银行香港分行办,因为那边人太多了。

我最后是在湾仔地铁口那边的中国银行香港分行办的卡。你也可以去铜锣湾那边的中国银行香港分行办,这两个分行都是在地铁站附近,很方便。一个分行不行的话,你可以去另一个分行办。

材料

  • 大陆身份证
  • 港澳通行证
  • 入境标签(小纸条)
  • 地址证明(最近三个月的水电煤或者信用卡账单)。我用的是招行的信用卡账单,自己彩色打印出来的,参考关于账单,这个纸质账单他们只看,不收,办完卡之后会还给你。
  • 手机提前开通好漫游,要收验证码,不然没办法办卡

特别⚠️:如果你的通讯地址和现住地址不一样,那么你需要提供地址证明。开户填资料的时候要注意,现住地址写你身份证的地址,通讯地址写你的收件地址(可以是身份证地址也可以是你账单地址)。他们要把卡寄到你的通讯地址。

办卡

办卡流程就很简单,取号,填资料,拍照,签字。他们问我为什么办卡?我就说理财、买保险。他们也没过多的问,就直接让我办卡了。

顺便吐槽一下这边银行办事的效率,真的很低,办个卡最快都要 45 分钟,而且是单线程,基本上就只有一个窗口能办卡,太慢了。

填完资料之后,实体卡会在 2 周之后寄给你的通讯地址。

没有要求我存钱,也没有要求我办理其他业务。

收到实体卡

其实办完卡你就可以用了,不用等实体卡,有些分行现场有卡,没有的话,就免费平邮寄给你的通讯地址。

2-17 号办卡,3-14 号终于在我们小区的信箱收到卡了,不会有任何通知,我是自己去信箱找的。如果自己住城中村没有信箱可能就有点麻烦了,你可能要去附近的邮局问问。

众安虚拟银行卡

虚拟银行是指他们没有线下营业厅,只有线上的,有实体卡。办卡非常简单,没有营业厅自然不需要取号,直接在网上填资料,然后拍照,签字,就可以了。App 做的很棒,开户体验很好。

办这个卡的要求:

  • 你人必须在香港境内
  • 你必须使用的是香港 Wi-Fi,香港地铁可以免费用 15 分钟的 Wi-Fi,你可以在地铁上办卡。
  • 手机能接收到短信,因为他们会给你发验证码
  • 大陆身份证
  • 港澳通行证
  • 人脸识别
  • 大陆任何一张储值卡(实名认证用)

满足条件,基本上 5 分钟就能办好,他们的 APP 也很好用,来香港之前你可以先下载好。填好资料,7 个工作日之内审核,通过之后会给你寄实体卡,大概也是一个月左右。

不了解众安银行?我在网上找了一篇测评文章,大家可以看看《眾安銀行評價:眾安銀行好唔好?ZA Bank 安全嗎?》。

工银亚洲卡

这个卡需要提前预约才可以去办,没有预约不给办。具体步骤看他们官方发的文章吧 - 全面通关啦!欢迎来工银亚洲开户!(附内地客户来港开户指引)

要准备的材料和步骤应该是和中国银行差不多,但是我听有人说有要求存 1 万港币,我没办过,所以不知道。工银亚洲卡也是 0 管理费,0 储存费,但是内地转账过去要收取手续费。

总结

如果你来香港办香港卡,我首推中国银行香港卡,因为它 0 储存 0 管理费,而且和内地的中国银行同名转账 0 手续费,最划算的卡了。

⚠️ 总结需要注意的是:

  • 来办卡之前你要先开通手机漫游,不然你没法收到验证码,没法办卡。联通的很方便,但是移动的卡就有点麻烦,来之前请操作好。
  • 来之前注意他们的营业时间,我刚发现中银香港他们的营业时间,工作日是 9:00 - 17:00,周六是 9:00 - 13:00,周日是休息的。(难怪工作日这么多人办卡,因为周六时间太短了,基本上只能办 5 个人)
  • 你的通讯地址和现住地址必须一致,如果不一致,你需要提供地址证明。
  • 提前下载好 App:
    • BOCHK 中银香港
    • BoC Pay
    • ZA Bank(众安银行)
  • 另外拿到香港卡之后要记得维护,一年至少交易一次(找朋友互相转账),防止你的卡被冻结,不然到时候你要去香港银行解冻,很麻烦。

另外:

  • 支付宝/微信都可以开通香港地铁的乘车码。
  • 如果来香港待几天,可以在这边的便利店买一张香港电话卡,33 港币,就可以用 180 天,不知道网上可不可以买。如果不买新卡,可以开通漫游流量包,不过联通的就比较贵,25/天。
  • 在香港推荐用 Google 地图或者百度地图,不要用高德地图,数据不准。

使用 OpenIn 为你的链接设置专属浏览器

引言

在日常使用中,你是否会需要这种情况,你使用的浏览器有两个帐户,一个是你的个人帐户,一个是你的工作帐户,工作帐户的 Chrome 登录的是工作的 GitHub 帐户,个人帐户的 Chrome 登录的是你私人的 GitHub 帐户,用于区分。

在工作沟通的 IM 软件中,你希望点击链接时,能够使用工作帐户的 Chrome 打开,而不是个人帐户的 Chrome 打开。不然同事发给你的私有仓库链接,你打开的时候,会提示你没有权限。

今天在 SetAPP 上我就发现了一款软件,叫做 OpenIn,可以帮助你解决这个问题。稍微配置一下,然后全自动完成你的需求。

OpenIn

安装

OpenIn 是一款高级链接处理的程序,如果你是 SetAPP 用户,可以在 SetAPP 上直接下载安装,如果不是,需要在 App Store 上购买,价格为 11.99 美元。

安装之后需要把它设置为默认浏览器,然后就可以使用了。

配置

我的使用场景是:

  • 我绝大部分时间都之用 Chrome 浏览器
  • 两个帐户,一个是个人帐户,一个是工作帐户

所以我 Applications 里面配置了两个 Chrome,一个是个人帐户的 Chrome,一个是工作帐户的 Chrome。

配置多个 Chrome 帐户的关键是里面的 Profile 这个值,要通过 chrome://version 地址获取这个值,更详情的说明可以看官方文档,我刚开始没看文档浪费了一点时间。

我的需求是:使用从 Lark.app 的所有链接都使用工作帐户的 Chrome 打开,其他任何链接都使用我的私人帐户的 Chrome 打开。

这个需求我是通过 Rule 来实现的。

默认的图形化 Rule 配置无法实现我的需求,所以我使用了它提供的 Custom Script Rule 来实现,修改默认的 Rule,打开 Custom Script,然后把下面的代码复制进去,保存即可。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
(function() {
    // the list of available apps to send link to
    let apps = ctx.getApps()

    // if the source app (where link is opened is Slack, 
    // keep only Safari as visible app for OpenIn
    // and because we will have only one app left, 
    // OpenIn will just open the Safari
    if (ctx.getSourceApp().path.startsWith("/Applications/Lark.app")) {
        apps.forEach(function (app) {
            app.visible = (app.name == "Chrome Work")
        })
        return
    }
	apps.forEach(function (app) {
        app.visible = (app.name == "Chrome Forecho")
    })
})()

OpenIn 的规则还是挺强大的,还可以根据不同的域名匹配不同的浏览器,更多功能你们自己看文档或者自己试试吧。

最后

其实这个需求我一直都有,每次都是人工操作,很烦,没想到昨天在 SetAPP 上发现了这个软件,正好解决了我的问题。

从来没想到过会有软件能够帮助我解决这个问题,真是太棒了。

再次学英语

引言

2017 年的时候我写过一篇文章 - 《我在学英语》,但是遗憾的是我没能坚持一个月,就断了,去年我坚持了一年使用多邻国打卡学习英文,这次我成功坚持下来了,并且我能感觉到自己英文水平有提高。

虽然还是很菜,但是确是很开心。

这篇文章我将分享我学习英语使用的一些工具,以及我学习英语的一些心得。

不背单词

之前我尝试过背单词,但是太过于枯燥,最重要的是很难坚持下来,背了忘,忘了背。

多邻国的学习模式就是不背单词,通过各种游戏化 的方式,让你学习英语,而不是背单词。

而且非常非常适合英文小白水平的人,所以我强力推荐大家可以使用多邻国入门学习英语。

淘宝可以买年度会员,价格很便宜,60 块钱左右一年,功能无限制,推荐早点买入,加快学习进度。

注册多邻国的时候一定要使用邮箱注册,不要使用手机号注册,否则会是阉割版的多邻国。

另外想使用排行榜的功能的话,需要改手机时区,建议改成新加坡时区,并且要带梯子,详情。没有排行榜的话,功能不受限制,但是缺少动力学习了。

辅助输入

iOS/Android

推荐使用Grammarly,这是一个非常好用的输入法,可以帮助你检查拼写,语法,并且给予建议。

有免费版,高级功能收费,非常推荐。

Mac

Mac 的话目前只发现hallelujahIM(哈利路亚 英文输入法) , 是 Mac 平台一款智能英语输入法,效果如上图。部分特性如下:

  • 支持按拼音来输出对应英文。如输入 suanfa,输入法会候选词中会显示 algorithm。
  • 支持按英文单词的模糊音来输入。如输入 cerrage 或者 kerrage 可以得到 courage 候选词,也可以输入 aosome 或者 ausome 来得到 awesome 候选词。

语法纠正

上面提到的 Grammarly 也可以帮助你纠正语法错误,但是我更推荐使用 Grammarly for VS Code,这个插件可以帮助你在 VS Code 中纠正语法错误。

除此之外,Deepl Write 也是一个非常好用的语法纠正工具,可以帮助你纠正语法错误。

口语纠正

ELSA Speak 是一个非常好用的口语纠正工具,可以帮助你纠正口语错误。

我目前买了会员,还在体验中,感觉还行,但是不知道长期使用效果如何。等我使用一段时间后,再来更新这篇文章。

截屏翻译

推荐 Bob,一款 macOS 平台翻译和 OCR 软件,使用了一下就付费(免费版有额度限制),感觉非常好用。

总结

这篇文章主要是介绍了一些学习英语的工具,希望能帮助到大家。如果你有更好的工具,欢迎在评论区留言。推荐的时候请写明原因,顺便说一下你的使用体验就更好了。

SetApp 使用经验分享

引言

SetApp 是一个 Mac 软件平台,你订阅 SetApp 之后,它上面的所有软件都可以免费使用,而你不需要再一个一个去购买或者订阅了。

我用了 SetApp 有一段时间了,这里分享一下我的使用经验。

价格

SetApp 刚出来的时候推出了 Family Plan,价格的话最便宜可以做到 15人民币/月/人,大概就是 180 左右一年,具体你们看 《Setapp 家庭套餐最低月费 15 元,近 200 款正版 macOS 软件随便用》

不过呢?现在 SetApp 已经不再提供 Family Plan 了,只有 Personal 版和 Team 版了。现在最便宜的方案就是 Personal 的 Power User 版了,14.99 美元/月,4 个设备,人均下来 300 人民币/年,年付的话 13.49 美元/月,人均 270+ 人民币/年。

那么现在你也可以上那些老 SetApp 用户的家庭车位,他们价格一般在 200~220 左右,但是这种要自己去蹲守,关注 v2exSetapp、Netflix、Spotify 家庭套餐逮虾户 这几个地方。

我最终上了一个 220/年的车位。

软件数量

官网显示有 230+个软件,但是精品的软件我觉得不超过 100 个吧,然后你要在要精品的这些软件中找到是否有你需要的,最后才能决定是否值得你花钱订阅。

我在用的一些软件

TablePlus

推荐:⭐⭐⭐⭐⭐

TablePlus 是一款数据库管理工具,作为后端开发查看数据库是必不可少的。

当初就是为了这个而订阅 SetApp 的,因为我在用的 Sequel Pro 有一段时间没有更新了。

体验了 TablePlus 免费版之后,功能很满意,就想付费了,在犹豫在官网买还是订阅 SetApp 的时候,最终等到了一个不错的 SetApp 车位就上车了。

PS:后来看到有人发帖 《TablePlus EDU 5 折》,所以专门为了这个软件而订阅 SetApp 的,我觉得不值。

Bartender

推荐:⭐⭐⭐⭐⭐

菜单栏软件,可以隐藏不常用的软件图标,让菜单栏更加整洁,以前用的是盗版。这也算是必不可少的软件了。

Craft

推荐:⭐⭐⭐⭐⭐

Craft 是一款出色的知识管理软件,对标 Notion,Craft 原生支持 Mac、Windows、iOS、Android,而且还有网页版,而且还有 Chrome 插件,可以将网页内容直接保存到 Craft 中。

但是我之前用的是 Obsidian,还不太习惯 Craft,目前用的少,对于想用 Craft 的朋友,SetApp 值得你订阅。

Session

推荐:⭐⭐⭐⭐

Session 是一款 Mac 下的番茄工作法软件,感觉不错。有时候心情烦躁,无法专注,就开启 Session,进行番茄工作法,让自己专注一段时间,然后休息一段时间,这样效率会高很多。

AirBuddy

推荐:⭐⭐⭐⭐

AirBuddy 可以查看 Apple 所有设备的电池情况,可以一键连接 AirPods Pro 2。

AirPods Pro 2 只能连接一个设备,当你带耳机连接 Mac 的时候,玩手机 AirPods 会自动切换到 iPhone 上,但是当你又开始用电脑的时候,就切不回去了,这个时候你就需要用 AirBuddy 一键连接。坑爹的体验。

Cleanshot X

推荐:⭐⭐⭐⭐

CleanShot X 是一款截图软件,功能很强大,可以截图、录屏、标注、分享等等,还可以自定义快捷键,非常好用。

之前我用的是xnip,也是不错的。CleanShot X 比它功能多一点,既然 SetApp 可以免费用,我就换成了 CleanShot X。

Timemator

推荐:⭐⭐⭐⭐

Timemator 是一款 Mac 下的时间管理软件,可以记录你的时间,然后分析你的时间花费在哪里,帮助你提高效率。

设置规则 Mac 可以自动帮你记录时间,这样你就清楚的知道每天使用 Mac 的时间花费在哪里了。另外他们也有 iOS 版本,但是需要手动去记录。

扩展阅读:《强大和易用并存的时间记录应用:Timemator》

CleanMyMac X

推荐:⭐⭐⭐

清理 Mac 的软件,可以清理垃圾、清理缓存、清理日志等等。用得最多的也就是帮你卸载软件,UI 做的很漂亮,单独买很贵,其他软件也有类似的功能,但是 SetApp 有了,就可以免费用了。

CodeRunner 和 DevUtils

推荐:⭐⭐⭐

两个都是开发者工具,CodeRunner 可以运行代码,DevUtils 可以生成一些代码片段,比如生成一个 UUID、生成一个随机字符串等等。

单独为 DevUtils 付费很不划算,因为这个软件的功能很多网站都有免费提供,但是既然 SetApp 有了,就可以免费用了。

Wallpaper Wizard 2

推荐:⭐⭐⭐

Wallpaper Wizard 2 是一款 Mac 下的壁纸软件,可以自动更换壁纸,也可以手动更换壁纸。

值不值得订阅?

我觉得看你自己的需求了,如果你想用的软件有好几个都在 SetApp 里面,那么就值得订阅了。如果你只是想用 1、2 个软件,而且可以买断的,那么就不值得订阅了。

总结

上面就是我目前用的一些软件了,如果你也是 SetApp 的用户,欢迎在评论区推荐一下你用的好用的软件。

❌