Jekyll2024-01-11T10:43:38+08:00http://jackywu.site/feed.xmlJackyWu’s BlogExperience Of My Life.Jacky Wu股市的第一性原理思考2024-01-11T00:00:00+08:002024-01-11T00:00:00+08:00http://jackywu.site/investment/%E8%82%A1%E5%B8%82%E7%9A%84%E7%AC%AC%E4%B8%80%E6%80%A7%E5%8E%9F%E7%90%86<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p>股市是个狩猎场, 充斥着各种谎言和尔虞我诈, 而这正是大家凭借着用来赚钱的手段. 在这样一个场合里, 如果我们还是摸不清其中的游戏规则, 那被割韭菜就是必然的宿命.</p>
<p>那么, 第二个问题来了, 股市里有那么多的股神和韭菜, 有那么多的理论和传说, 哪些是可信的, 哪些是骗局, 我们必须基于那些最底层而真实的原理(公理)才能去拓展其他的定理和应对之道. 反过来说, 倘若我们基于别人给我们制造的谬论去设计投资方案, 不被割韭菜才怪, 而让我们相信这些谬论正是某些人的工作和赚钱之道.</p>
<h1 id="第一性原理">第一性原理</h1>
<p>我认为, 股市里有这些第一性原理</p>
<ol>
<li>股市是个资本市场, 是用“钱”推动起来的证券交易场所 .</li>
<li>股市存在的第一意义是企业融资的需要.</li>
<li>股市一定是波动的, 尤其是在A股里, 波动是很大的.</li>
</ol>
<h1 id="第一层推理">第一层推理</h1>
<p>那么, 从上面公理能推理出哪些定理</p>
<ol>
<li>股市里唯一的丈量工具就是“钱”, 有源源不断的钱进来买, 股市就会涨, 源源不断的钱流出去, 股市就会暴跌, 如果钱不进也出, 则股市不涨不跌. 所以, 盯住社会上的钱是宽松还是紧缩, 钱往哪里流. 另外, 有多少钱就能办多大的事. 海量的资金可以把全市场推到疯牛, 大资金量可以推动权重股, 小资金量只能推动小盘股. 股市是全市场的机会, 还是结构性机会要看多个因素: 场外有多少钱 + 大家对后市是什么样的预期 + 经济的发展能否配合印证大家的预期.</li>
<li>既然股市是个融资场所, 那么, 股市疯涨则会带动过多的社会资金进入股市, 从而使得原本该进入其他行业的资金减少, 对那些方面的投资和消费产生负面影响. 倘若股市暴跌则又会使得社会资产暴跌, 甚至触发股权质押风险造成金融风险. 所以, 股市暴涨和暴跌都不是“上面”希望看到的. 那么, 怎样算暴涨, 怎样算暴跌, 我们能从历史数据和社会舆论里观察到.</li>
<li>既然股市是波动的, 就会有高有低, 有高低我们就可以赚到钱. 什么样算高, 什么样算低, 看估值. 是牛长熊短还是牛短熊长, 股市还要跌多久, 能跌到多少点, 什么时候会涨, 能涨到多少点, 这些都不是人可以回答的, 就算有人告诉你一个答案, 我也不会相信. 唯一可以相信的就是历史数据, 因为那是已经发生了的客观事实.</li>
</ol>
<p>通过上面的公理和定理, 我们还能分析出什么道理 ?</p>
<ol>
<li>在经济发展减速, 人口老龄化的大背景下, 经济发展决定了未来不足以支持人们推起疯牛的欲望, 所以, 未来只有结构性机会.</li>
</ol>
<h1 id="投资策略">投资策略</h1>
<p>通过这些定理, 能够为自己制定什么样的投资策略 ?</p>
<ol>
<li>守住能力圈, 在超跌的大环境下, 贝塔的机会确定性最大. 低于平均估值的时候持续加仓, 到平均估值的时候平衡一下债券和权益的仓位.</li>
<li>到达平均估值之后, 调低权益仓位, 调低大盘宽基的仓位, 逐步换到几个结构性机会的行业上.</li>
</ol>
<h1 id="那些我们理解错了的道理">那些我们理解错了的道理</h1>
<ol>
<li>价值投资和长期持有 两者并不矛盾. 价值投资说的是便宜的时候买进来, 贵的时候卖出去. 长期持有说的是, 只要不是很贵就一直拿着, 贵了就卖出去. 谁给我们说的“长期持有”就是要一直拿着不动拿到死? 是我们听错了, 还是说这话的人把话说了一半没说全? 这世界最多的就是这种残次信息.</li>
</ol>JackyWu联系我 这里银行单方面调降存款利率的影响2023-04-08T00:00:00+08:002023-04-08T00:00:00+08:00http://jackywu.site/investment/%E9%93%B6%E8%A1%8C%E5%8D%95%E6%96%B9%E9%9D%A2%E8%B0%83%E9%99%8D%E5%AD%98%E6%AC%BE%E5%88%A9%E7%8E%87%E7%9A%84%E5%BD%B1%E5%93%8D<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p>银行单方面调降存款利率的动机</p>
<ul>
<li>如果 LPR 利率没变,只是银行调降了存款利率,那么这仅仅是银行希望减少利息的支出,因为居民的储蓄就是银行的负债,但是我们的房贷就是银行的收入,所以银行并没有动力调降房贷利率;</li>
<li>虽然有 LPR 作为指导,但是大多数情况下银行放贷也是一事一议,很多国家支持项目的贷款利率都降到了 3%以下,银行可能是亏本在做生意,所以,银行对于贷款利率和存款利率的调控意愿没有很统一的规律,而且根据历史经验看,银行体系总是愿意做锦上添花的生意,而不愿意做雪中送炭的生意,这是银行的风控体系所决定的;</li>
<li>当货币政策非常宽松的时候,要看社融数据是否回升,如果不是,则意味着可能流动性足够,但是钱无法进入实体经济,而是留在金融体系里空转,就会对银行端造成很大的负债压力。这种情况下,再全面降息降准是没有太大意义的,反而会继续拉低人民币汇率造成负面影响;</li>
<li>如果宏观经济减速了,那么大家就用不着那么多钱去扩大生产,大家对贷款的意愿也就不那么强,对流动性要求也没那么高,国家是否全面降息的诉求也就没那么大;</li>
</ul>
<p>如果银行单向调降存款利率,带来的影响有</p>
<ol>
<li>降低<strong>银行端</strong>的负债压力,少付利息,扩大息差,有利于银行扩大利润;</li>
<li>逼迫资金从银行体系流出,进入到实体经济和资本市场,既可以化解金融风险,也可以刺激消费;</li>
<li>拉低债券市场的收益,使得股债比更高,进而刺激长期资金进入股票市场,利好<strong>公用事业</strong>,<strong>金融</strong>等,可能会引来又一次价值搭台成长唱戏的情景;</li>
<li>存款利率降低也会拉低汇率;</li>
</ol>
<p>其他知识</p>
<ul>
<li>银行的收入 = 贷款利率 - 存款利率 - 运营成本</li>
</ul>JackyWu联系我 这里ChatGPT之辅助读书和思考2023-04-07T00:00:00+08:002023-04-07T00:00:00+08:00http://jackywu.site/technology/ChatGPT%E4%B9%8B%E8%BE%85%E5%8A%A9%E8%AF%BB%E4%B9%A6%E5%92%8C%E6%80%9D%E8%80%83<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p>@智慧谷 <a href="http://chat.superassist.net">ChatGPT Web</a></p>
<h2 id="前言">前言</h2>
<p>虽然科技越来越发达,有了互联网,有了各种短文本和短视频的流量平台,但这些碎片化、低质量化和大麻化的内容丝毫没有动摇“书本”在扩展我们的知识和提升我们的思考方面的地位,甚至还更为重要。即使现在有了各种GPT,但它依然是我们的超级助力,而无法代替我们学习和思考。那这些个GPT能在这方面帮我们做点什么事情呢?</p>
<ol>
<li>帮助我们选择和推荐信息</li>
<li>帮助我们快速学习“Know What”的信息</li>
<li>通过一些已知的“Know How”信息启发我们</li>
</ol>
<h2 id="正文">正文</h2>
<h3 id="找到有价值的好书">找到有价值的好书</h3>
<p>一般来说,看书的动机是自己想解决某一方面的问题,或者提升某一方面的能力,也就是确定了知识的“领域”,接下来,如果完全不知道该领域中的经典书籍,那么可以用ChatGPT给我们推荐一本好书,比如我们想知道有哪些书籍有助于提升我们的认知,打开 <a href="https://chat.openai.com/">ChatGPT</a> 或者 国内代理 <a href="http://chat.superassist.net/">SuperAssist</a></p>
<p><img src="/assets/images/image-20230414093032770.png" alt="image20230414093032770" /></p>
<p>我们在上一篇文章《ChatGPT之优化提示词提升效率》提到过, ChatGPT大语言模型有一个缺点,就是会睁眼说瞎话,比如,我记得李笑来没有出过一本叫做《格局》的书,于是我去豆瓣搜索了一下<a href="https://book.douban.com/author/543505/">李笑来 </a>和 <a href="https://search.douban.com/book/subject_search?search_text=格局&cat=1001">格局</a> 确认没有这本书,于是我对这一点进行指正,ChatGPT马上就给出了纠正后的结果,我们在使用ChatGPT同时也是在训练它</p>
<p><img src="/assets/images/image-20230414095226745.png" alt="image20230414095226745" /></p>
<p>我们继续回到书上面来。上面推荐的书后面都有一小段关于这本书的粗略概括,有助于我们对这本书获得最初级的认识,下面我们更深一步,让ChatGPT总结每本书的核心观点和读者能从中获得的价值</p>
<p><img src="/assets/images/image-20230414095402612.png" alt="image20230414095402612" /></p>
<p>其实,到了这个地步,我们已经可以选出适合自己的好书了。</p>
<p>我们换一个场景,如果我们之前已经看过一本该领域的好书了,比如说《<a href="https://book.douban.com/subject/35637771/">影响力</a>》,我们希望ChatGPT推荐跟它同等质量级别的经典书籍</p>
<p><img src="/assets/images/image-20230414101115332.png" alt="image20230414101115332" /></p>
<p>这样,我们就可以快速掌握一个子领域里额最有价值信息。</p>
<h3 id="快速知道what">快速知道”What“</h3>
<p>我们知道ChatGPT是信息抽取和提炼的一把好手,对于一些”xx是什么“的问题回答的比较好,言简意赅,对于我们快速了解一个小领域里的”N个关键概念“帮助很大。比如,我们在看书的时候遇到一些不理解的概念,就可以快速从ChatGPT获得知识,以便于继续阅读,举个例子,”什么是羊群效应”?</p>
<p><img src="/assets/images/image-20230414111113054.png" alt="image20230414111113054" /></p>
<p>这种效应通常出现在当事人<strong>压力较大、具有强烈情感共鸣、信息不对称</strong>等情境下,那我们回顾一下过去看过的网络文章或者视频,当时能够引起你强烈的情感共鸣,但第二天你对文章的内容没有半点印象,你应该猜到这种文章或视频的目的大概率就是为了让你“转发点赞”帮作者获取流量。</p>
<p>我们不仅可以用这种方式快速帮我们扫清继续阅读下去的疑问,还可以快速从一本书里提炼到关键概念,比如</p>
<p><img src="/assets/images/image-20230414111009992.png" alt="image20230414111009992" /></p>
<p>这可以让我们快速了解一本书的核心价值,如果其中的某些内容对我们很有吸引力,我们就可以找到书中的位置进行细读。因为,在深度思考这件事情上,没有人可以偷懒,只能少走弯路。</p>
<h3 id="启发我们know-how">启发我们“Know How”</h3>
<p>因为没有人可以帮助我们深度思考,所以我们必须自己来。“Know What”让我们仅仅知道“知识”,而“Know How”指的是“要做到某个目标,该怎么做”,”A为什么会发生,根本原因是什么“,“A和B之间是什么样的关系,如果A如何如何了,B会如何如何”,这些东西可以指导我们去实践,他们叫做”智慧“,没有独立思考能力是做不到这一点的,这也是互联网时代的信息差的壁垒,而那些”Know What“的东西会被互联网和人工智能快速抹平差异。</p>
<p>如何进行深度思考是一个较大的话题,可以借助一些经典书籍进行学习,比如《费曼学习法》、《认知觉醒》等等。</p>
<p>如果面对一个信息,我们没有任何思路,怎么办?首先,我们自己需要提问的兴趣和能力,这是一切的基础,然后再可以借助ChatGPT的能力,一方面为我们解惑,另一方面给我们启发。</p>
<p>比如,有些人每天沉浸在短视频里无法自拔,稍不留神就被短视频消磨掉半天的时间,这些公司深知人性的特点和弱点,非常懂得操控人性,如果你对这一点产生了疑问,你有兴趣了解一下背后的原因,那么给ChatGPT提问</p>
<p><img src="/assets/images/image-20230414113154827.png" alt="image20230414113154827" /></p>
<p>现在我们大概知道了一些肤浅的原理,我们再更深度追问一层</p>
<p><img src="/assets/images/image-20230414113554676.png" alt="image20230414113554676" /></p>
<p>好了,到这里其实你应该已经明白了你是如何被控制的。那,这些个问题又是如何产生的呢?当你在精读一本书的时候,你需要对书中的内容进行理解 + 联系自己的实际 + 联想推理举一反三,比如,你从”羊群效应“你能够联想到抖音的短视频么?</p>
<p><img src="/assets/images/image-20230414113949351.png" alt="image20230414113949351" /></p>
<p>好了,上面都是ChatGPT告诉我们的内容,上面的内容其真实成分有多少?其逻辑是否正确?通过书中的观点或只言片语能让你联想到哪些生活中的现象和人事物?你思考到的内容能给自己和社会解决什么问题?还是创造了什么问题?有没有社会价值和经济价值?这说的就是思考的一种方式,这些开始启发我们开始思考了。</p>
<h2 id="小结">小结</h2>
<p>这篇文章中我们主要讲到了如何借助ChatGPT帮助我们选书、快速学习、辅助我们思考,ChatGPT是工具或者说是助理,我们是主人,尤其在思考这件事上,这种主权是无法让渡的。</p>JackyWu联系我 这里ChatGPT之优化提示词提升效率2023-04-06T00:00:00+08:002023-04-06T00:00:00+08:00http://jackywu.site/technology/ChatGPT%E4%B9%8B%E4%BC%98%E5%8C%96%E6%8F%90%E7%A4%BA%E8%AF%8D%E6%8F%90%E5%8D%87%E6%95%88%E7%8E%87<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p><a href="http://chat.superassist.net">ChatGPT Web</a></p>
<h2 id="前言">前言</h2>
<p>我们都知道,目前我们跟ChatGPT交互的方式主要是”提问“,我们提一个问题,它回答一个。它回答的质量如何,完全取决于我们的问题问地怎么样。而且,如果你的任务需要连续问多个问题才能解决,那么提问这件事就会变得有些烦恼,下面我来介绍一些方法减轻这个烦恼。</p>
<h2 id="正文">正文</h2>
<h3 id="chatgpt的缺点">ChatGPT的缺点</h3>
<p>首先我们先来了解一下ChatGPT的LLM(Large Language Model)的缺点</p>
<ol>
<li>无法引用信息来源。因为无法访问互联网,也无法记忆信息的来源,有时候能生成看起来不错的答案,但不准确。</li>
<li>偏见和偏差。LLM容易生成刻板的回答,也会说出有歧视性的回答,所以在直接给消费者提供服务时要特别注意。</li>
<li>乱说。有时候明明LLM不知道正确的答案,但他依然会一本正经地胡说。</li>
<li>不擅长数学。简单的数学解决起来就有困难,更复杂的数学就更难了。</li>
<li>提示词骇客。就是指提问者有能力欺骗LLM生成任何他们想要的答案。</li>
</ol>
<p>所以,我们要摆正看待ChatGPT的态度</p>
<ol>
<li>不要把”思考“外包给ChatGPT,相反,要用ChatGPT提升我们的工作效率,并用苏格拉底式提问法让ChatGPT帮助我们做思考;</li>
<li>不要用ChatGPT创造内容,相反,可以用它来搭建框架和做内容审阅;</li>
<li>不要用ChatGPT生成引用文献,否则,它会生成一些瞎编乱造的内容;</li>
</ol>
<p>简单来说,对于我们而言,ChatGPT最适合做我们的伙伴或者助手,不要放弃思考的主动权。</p>
<p>另外,我们的语言组织能力决定使用ChatGPT的深度,我们的知识结构决定了使用ChatGPT的应用宽度。那如何掌握更好的提问方法呢?这里有一个原则,就是“问题越精确越好”,你就越有可能得到你想要的答案。</p>
<h3 id="精准提问">精准提问</h3>
<p>要怎么样才能精确?我们可以使用提问方法中最常用的“5W1H”方法,即 “What, Who, Where, When, Why, and How”,中文表述就是“是什么,是谁,在哪里,什么时候,为什么,怎么办”。从中我们能提炼出哪些信息来?</p>
<ol>
<li>角色,你希望告诉ChatGPT他应该扮演一个什么角色,或者告诉他应该把我当做一个什么角色。</li>
<li>场景,什么时候,在哪里,这就是给ChatGPT提供更多的背景信息/上下文信息。</li>
<li>目的,当ChatGPT明白了你的目的之后,他的思考逻辑就会越符合你的要求。</li>
<li>方法,如果你还能告知ChatGPT应该按照什么样的方法去做一件事,那么他给出的答案会更加符合你的要求。如果给不出,也没关系,可以让ChatGPT自己去想多种方法。</li>
</ol>
<p>总而言之,其实我们就是在给ChatGPT提出更加精准的问题,上面的每一个问题元素都是为了缩小问题的范围,让ChatGPT给的答案也更加精确。</p>
<p>下面我们来看一些例子</p>
<p>比如,添加角色信息,让ChatGPT作为一个翻译的角色,翻译一段英文</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>现在你是一个专业的英语翻译,我会输入任何类型的语言,你需要自己检测和判断,然后把任何语言翻译成中文,请翻译时不要带翻译腔,而是要翻译得自然、流畅和地道,使用优美和高雅的表达方式。现在请翻译下面这段话:
Reflex is a small tool to watch a directory and rerun a command when certain files change. It's great for automatically running compile/lint/test tasks and for reloading your application when the code changes.
</code></pre></div></div>
<p><img src="/assets/images/image-20230410183405912.png" alt="image20230410183405912" /></p>
<p>比如,添加场景,让ChatGPT作为一个家庭医生</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>现在你是一个呼吸科的家庭医生,我生病了,症状是全身无力,流鼻涕,没有精神,但是不发烧,我希望尽快能够恢复健康,请你给我一些具体的治疗建议,不要空洞和官腔的答案,最好是具有可执行性的建议?
</code></pre></div></div>
<p><img src="/assets/images/image-20230410183746915.png" alt="image20230410183746915" /></p>
<p>比如,添加目的,让ChatGPT给推荐旅游攻略</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>现在你是一个经验丰富的导游,我想去泰国旅游7天,希望在泰国能够体验到当地最著名的特色,但是我预算只有3000元人民币,请你给我一些中肯的、具体的、具备可操作性的建议,其中应该包括具体的地点,时间,价格?
</code></pre></div></div>
<p><img src="/assets/images/image-20230410184519289.png" alt="image20230410184519289" /></p>
<p>比如,添加具体方法,让ChatGPT推荐资产配置的具体方案</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>现在你是一个专业的投资顾问,我有本金大概100万人民币,我希望通过“股票型宽基指数基金+债券基金+大宗商品基金”构成我的投资组合,我的股票型宽基指数基金目前包括“上证50、沪深300、中证500、创业板指、科创50”,“债券基金”占比20%,“大宗商品基金“占比为0,请问,我应该怎么给我的股票型宽基指数设定比例,才可以让我的整体投资组合保持在年化收益10%呢?
</code></pre></div></div>
<p><img src="/assets/images/image-20230410184956727.png" alt="image20230410184956727" /></p>
<p>最后,再来一个杀手锏,如果我们经过尝试还是无法优化出一个理想的问题,依然可以把这个事情交给ChatGPT,比如</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>我想去泰国旅游,这是我刚才给你提的问题”现在你是一个经验丰富的导游,我想去泰国旅游7天,希望在泰国能够体验到当地最著名的特色,但是我预算只有3000元人民币,请你给我一些中肯的、具体的、具备可操作性的建议,其中应该包括具体的地点,时间,价格?“,但是你给的答案并不足够优秀,你帮我优化一下问题
</code></pre></div></div>
<p><img src="/assets/images/image-20230410191342541.png" alt="image20230410191342541" /></p>
<h3 id="保存常用的提示词">保存常用的提示词</h3>
<p>另外,还要注意的是,通过问题的调教不可能是一劳永逸的,我们要经常调整自己的问题,一直调到得到满意的答案为止,那么在不断地调整过程中,保留一些常用的提示问题也是很有必要的,我们每次可以在这个基础上进行微调,大大提升效率。</p>
<p>这里介绍一个好办法,就是使用“Prompt Store”,点击打开</p>
<p><img src="/assets/images/Xnip2023-04-07_19-43-28.png" alt="Xnip20230407194328" /></p>
<p>有本地和在线两种保存方法</p>
<p><img src="/assets/images/image-20230407194544189.png" alt="image20230407194544189" /></p>
<p>例如,保存一条“万能翻译”的提示词</p>
<p><img src="/assets/images/image-20230407194738419.png" alt="image20230407194738419" /></p>
<p><img src="/assets/images/image-20230407194913214.png" alt="image20230407194913214" /></p>
<p>好,现在我们关闭浮窗,回到对话窗口去翻译一段话。我们在对话窗口里用斜杠,即/唤起提示词</p>
<p><img src="/assets/images/image-20230407195119400.png" alt="image20230407195119400" /></p>
<p>然后把我们要翻译的内容写进去</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>One AI assistant that works across all apps & browsers. It can WRITE. IMPROVE. REPLY. SUMMARIZE. EXPLAIN & TRANSLATE. It has inbuilt OCR engine, and can extract text + generate AI text.
</code></pre></div></div>
<p><img src="/assets/images/image-20230407195213147.png" alt="image20230407195213147" /></p>
<p><img src="/assets/images/image-20230407195259068.png" alt="image20230407195259068" /></p>
<p>使用这个“Prompt Store”我们就可以给自己积攒的提示词都收集起来,并且在要用的时候快速唤起,方便了好多。这里还有“导出”和“导入”功能,将录入的提示词定期导出保存到电脑上备份,需要的时候又可以导入到Prompt Store里,数据安全有保证了。</p>
<h3 id="采用别人提示词">采用别人提示词</h3>
<p>上面的窗口我们也看到还有“在线”的提示词,比如</p>
<p><img src="/assets/images/image-20230407195604530.png" alt="image20230407195604530" /></p>
<p>这里有2个就是网上整理的比较流行的提示词了,点击右下角的链接符号就可以查看那些提示词的内容,如果觉得满意就点击右下角的“+”号,这可以将链接里的提示词内容都下载到本地,这极大扩充了你的提示词库。当然,你可以整理一个属于你自己的在线提示词库,把链接放到这里就可以自动下载。</p>
<p><a href="https://github.com/f/awesome-chatgpt-prompts">f/awesome-chatgpt-prompts: This repo includes ChatGPT prompt curation to use ChatGPT better. (github.com)</a></p>
<p><a href="https://github.com/PlexPt/awesome-chatgpt-prompts-zh">PlexPt/awesome-chatgpt-prompts-zh: ChatGPT 中文调教指南。各种场景使用指南。学习怎么让它听你的话。 (github.com)</a></p>
<h2 id="小结">小结</h2>
<p>本文我们讲述了利用提示词提升答案质量的方法,也介绍了利用Prompt Store收集和快捷使用提示词的方法。总的来说就是,提出好问题,快速提问题,这就是提升我们效率的原则。</p>JackyWu联系我 这里训练自己的ChatGPT模型2023-04-05T00:00:00+08:002023-04-05T00:00:00+08:00http://jackywu.site/technology/%E8%AE%AD%E7%BB%83%E8%87%AA%E5%B7%B1%E7%9A%84ChatGPT%E6%A8%A1%E5%9E%8B<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p><a href="http://chat.superassist.net">ChatGPT Web</a></p>
<h2 id="前言">前言</h2>
<p>ChatGPT是“大力出奇迹”的经典表现,大模型给ChatGPT带来了惊人的智能,但是要训练这样的大模型,可是十分烧钱的,根据OpenAI给出的数据,1700亿参数的Davinci模型从头训练一遍,大概需要耗时3个月,耗资150万美元。那我们普通人或者小公司面对这个高门槛,对自定义模型是不是就完全没有希望了呢?其实除了从头训练一个模型,我们还可以选择基于一个基础模型进行训练,这样,我们可以往里添加自己的个性化数据,最终得到一个领域增强的个性化模型,这个技术被OpenAI称为Fine-tuning。</p>
<p>个性化模型有什么用?我们知道,OpenAI给的模型(如Davinci、Curie、gpt-3.5-turbo)都是通用化模型,而现代社会的行业和知识如此之庞大,每个领域都有自己细分的专业知识,比如,我们知道ChatGPT的一个典型应用场景就是智能客服,但同样是客服,保险领域的客服和淘宝店铺的客服需要面对的客户和需要解答的问题就完全不一样,想要给出更好的答案,我们就需要打磨自己的个性化模型。</p>
<h2 id="原理">原理</h2>
<p>OpenAI的Fine-tuning技术基于预训练模型,通过在小规模任务上对该模型进行微调来快速适应具体的任务。其核心原理是将预训练模型的权重进行微调,以适应新任务的输入和输出。</p>
<p>Fine-tuning一般包括以下步骤:</p>
<ol>
<li>加载预训练模型:选择一个与所需任务相关的预训练模型,并加载其权重。</li>
<li>选择任务数据集:选定特定任务所需的数据集。</li>
<li>对模型进行微调:将任务数据集作为输入,以最小化模型在此数据集上的损失函数。在这个过程中,通常需要在训练集和验证集上进行多次迭代,以避免过拟合问题。</li>
<li>在测试集上进行测试:使用微调后的模型,在测试集上测试其性能表现。</li>
</ol>
<p>Fine-tuning的优点在于它可以让我们快速获得针对特定任务的高质量模型,而无需从头开始训练模型。同时,由于Fine-tuning仅更新了部分权重,并且大多数权重已经在预训练阶段得到了很好的优化,因此Fine-tuning相对于从头开始训练模型而言,需要的训练时间和计算资源都要少得多。</p>
<h2 id="步骤">步骤</h2>
<p>这里,我想到了一个点子,知识星球的粉丝群问答不就是最好的例子么,一问一答,刚刚好对应上,比如齐俊杰的投资理财粉丝群,如果把最近一个月的问答数据作为训练数据,看看结果如何,可能会是个比较有意思的事情。</p>
<h3 id="a准备训练数据">a.准备训练数据</h3>
<p>我们需要将需要训练的数据准备为jsonl格式,这种格式的特点就是每一行都是json的格式(关于什么是json,参考<a href="https://www.runoob.com/json/json-syntax.html">这里</a>)如下</p>
<pre><code class="language-jsonl">{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
</code></pre>
<p>比如,我的训练数据为<code class="language-plaintext highlighter-rouge">dataset.jsonl</code>,里面的问答大概有2500行,对于fine-tuning来说,数据量不能太少,少于100条数据的话,训练出来的模型质量应该好不了:</p>
<pre><code class="language-jsonl">{"prompt": "医药和消费有什么基金推荐的", "completion": "医药可以看看工银前沿的赵蓓,她挺均衡的,对于这个行业我了解不多,你还可以看看医药100指数,消费挺多的,消费50也挺好。"}
{"prompt": "请教一下老师,恒生科技第一大持仓股是快手。而快手是亏损最大的互联网企业。似乎齐老师也说过不看好快手,会不会影响恒生科技持仓。", "completion": "如果你要是能选股,确实不应该买指数。从指数选择的角度来说。中概互联我们更看好一些。但他跟恒生科技的相关度其实很高"}
{"prompt": "想问一下国投瑞银这边基金公司和綦缚鹏的风格实力怎么样", "completion": "他风格不是很固定。最近在偏向周期。(个人观点,不作为投资建议)"}
</code></pre>
<p>其中,prompt是问题,completion是答案。</p>
<h3 id="b安装工具">b.安装工具</h3>
<p>我们都知道,在机器学习领域,Python语言是主力(参考<a href="https://www.runoob.com/python3/python3-tutorial.html">这里</a>),在OpenAI也不例外,我们需要先安装Python语言环境,安装这一步省略不讲了。安装完毕后,需要使用python自带的<code class="language-plaintext highlighter-rouge">pip</code>工具安装OpenAI提供的训练工具</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip <span class="nb">install</span> <span class="nt">--upgrade</span> openai
</code></pre></div></div>
<p>同时,因为需要跟OpenAI的平台进行交互,所以,我们需要OPENAI_API_KEY,这个是需要注册的,且要收费</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">OPENAI_API_KEY</span><span class="o">=</span><span class="s2">"<OPENAI_API_KEY>"</span>
</code></pre></div></div>
<h3 id="c调优数据">c.调优数据</h3>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>openai tools fine_tunes.prepare_data <span class="nt">-f</span> dataset.jsonl
</code></pre></div></div>
<p>该指令会帮我们优化训练数据,该指令运行过程中会问我们几个问题,主要是给prompt添加了固定的后缀,比如”->”,给completion添加了开头的空格和结尾的换行符,如下</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{"prompt":"医药和消费有什么基金推荐的 ->","completion":" 医药可以看看工银前沿的赵蓓,她挺均衡的,对于这个行业我了解不多,你还可以看看医药100指数,消费挺多的,消费50也挺好。\n"}
{"prompt":"请教一下老师,恒生科技第一大持仓股是快手。而快手是亏损最大的互联网企业。似乎齐老师也说过不看好快手,会不会影响恒生科技持仓。 ->","completion":" 如果你要是能选股,确实不应该买指数。从指数选择的角度来说。中概互联我们更看好一些。但他跟恒生科技的相关度其实很高\n"}
{"prompt":"想问一下国投瑞银这边基金公司和綦缚鹏的风格实力怎么样 ->","completion":" 他风格不是很固定。最近在偏向周期。(个人观点,不作为投资建议)\n"}
</code></pre></div></div>
<p>准备好的数据文件是<code class="language-plaintext highlighter-rouge">dataset_prepared.jsonl</code>。</p>
<h3 id="d提交数据训练">d.提交数据训练</h3>
<p>我们准备好数据后,就要提交到OpenAI的平台上进行训练了,此时需要提供数据文件dataset_prepared.jsonl和模型,目前OpenAI支持的BASE_MODEL有4个(参考<a href="https://openai.com/pricing">这里</a>),是Davinci、Curie、Ada、Babbage,从左到有,价格分别是从贵到便宜,性能是从好到一般。如果想知道每个模型的效果,可以同时基于2个BASE_MODEL进行训练,最后比较效果。这次考虑到训练成本,先用Curie作为BASE_MODEL训练。</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>openai api fine_tunes.create <span class="nt">-t</span> dataset_prepared.jsonl <span class="nt">-m</span> curie
</code></pre></div></div>
<p>耗时大概30分钟以上。训练的进度可以通过下面这个命令获取,ft-SSIJ4DsHFfp9LEtuHWyQcn5B这个是fine-tuning的job ID,是上面create命令会给出的。</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>openai api fine_tunes.follow -i ft-SSIJ4DsHFfp9LEtuHWyQcn5B
</code></pre></div></div>
<p>这里有个小技巧,如果训练数据集较大,不用每次提交训练任务都要把数据重新上传一遍,可以直接使用之前已经上传的数据,使用方法如下</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>openai api fine_tunes.create <span class="nt">-t</span> file-WSkHmtSfBLORMAhEoEVyBDO4 <span class="nt">-m</span> curie
</code></pre></div></div>
<p>这个<code class="language-plaintext highlighter-rouge">file-WSkHmtSfBLORMAhEoEVyBDO4</code>是之前上传完文件后通过下面的命令得到的</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">(</span>.venv<span class="o">)</span> ➜ openai api files.list
<span class="o">{</span>
<span class="s2">"data"</span>: <span class="o">[</span>
<span class="o">{</span>
<span class="s2">"bytes"</span>: 620175,
<span class="s2">"created_at"</span>: 1680619086,
<span class="s2">"filename"</span>: <span class="s2">"dataset_prepared.jsonl"</span>,
<span class="s2">"id"</span>: <span class="s2">"file-WSkHmtSfBLORMAhEoEVyBDO4"</span>,
<span class="s2">"object"</span>: <span class="s2">"file"</span>,
<span class="s2">"purpose"</span>: <span class="s2">"fine-tune"</span>,
<span class="s2">"status"</span>: <span class="s2">"processed"</span>,
<span class="s2">"status_details"</span>: null
<span class="o">}</span>,
<span class="o">]</span>,
<span class="s2">"object"</span>: <span class="s2">"list"</span>
<span class="o">}</span>
</code></pre></div></div>
<h3 id="e使用模型">e.使用模型</h3>
<p>查看fine-tuning任务的详细信息</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">(</span>.venv<span class="o">)</span> ➜ openai api fine_tunes.list
<span class="o">{</span>
<span class="s2">"data"</span>: <span class="o">[</span>
<span class="o">{</span>
<span class="s2">"created_at"</span>: 1680619087,
<span class="s2">"fine_tuned_model"</span>: <span class="s2">"curie:ft-personal-2023-04-04-15-28-34"</span>,
<span class="s2">"hyperparams"</span>: <span class="o">{</span>
<span class="s2">"batch_size"</span>: 2,
<span class="s2">"learning_rate_multiplier"</span>: 0.1,
<span class="s2">"n_epochs"</span>: 4,
<span class="s2">"prompt_loss_weight"</span>: 0.01
<span class="o">}</span>,
<span class="s2">"id"</span>: <span class="s2">"ft-SSIJ4DsHFfp9LEtuHWyQcn5B"</span>,
<span class="s2">"model"</span>: <span class="s2">"curie"</span>,
<span class="s2">"object"</span>: <span class="s2">"fine-tune"</span>,
<span class="s2">"organization_id"</span>: <span class="s2">"org-WTfVkVyUtqWdmv711ZZWHw7T"</span>,
<span class="s2">"result_files"</span>: <span class="o">[</span>
<span class="o">{</span>
<span class="s2">"bytes"</span>: 225243,
<span class="s2">"created_at"</span>: 1680622115,
<span class="s2">"filename"</span>: <span class="s2">"compiled_results.csv"</span>,
<span class="s2">"id"</span>: <span class="s2">"file-RfmMXqxf94DhsxLN2jfATCTW"</span>,
<span class="s2">"object"</span>: <span class="s2">"file"</span>,
<span class="s2">"purpose"</span>: <span class="s2">"fine-tune-results"</span>,
<span class="s2">"status"</span>: <span class="s2">"processed"</span>,
<span class="s2">"status_details"</span>: null
<span class="o">}</span>
<span class="o">]</span>,
<span class="s2">"status"</span>: <span class="s2">"succeeded"</span>,
<span class="s2">"training_files"</span>: <span class="o">[</span>
<span class="o">{</span>
<span class="s2">"bytes"</span>: 620175,
<span class="s2">"created_at"</span>: 1680619086,
<span class="s2">"filename"</span>: <span class="s2">"dataset_prepared.jsonl"</span>,
<span class="s2">"id"</span>: <span class="s2">"file-WSkHmtSfBLORMAhEoEVyBDO4"</span>,
<span class="s2">"object"</span>: <span class="s2">"file"</span>,
<span class="s2">"purpose"</span>: <span class="s2">"fine-tune"</span>,
<span class="s2">"status"</span>: <span class="s2">"processed"</span>,
<span class="s2">"status_details"</span>: null
<span class="o">}</span>
<span class="o">]</span>,
<span class="s2">"updated_at"</span>: 1680622115,
<span class="s2">"validation_files"</span>: <span class="o">[]</span>
<span class="o">}</span>,
<span class="o">]</span>,
<span class="s2">"object"</span>: <span class="s2">"list"</span>
<span class="o">}</span>
<span class="o">(</span>.venv<span class="o">)</span> ➜ openai api fine_tunes.follow <span class="nt">-i</span> ft-SSIJ4DsHFfp9LEtuHWyQcn5B
<span class="o">[</span>2023-04-04 22:38:07] Created fine-tune: ft-SSIJ4DsHFfp9LEtuHWyQcn5B
<span class="o">[</span>2023-04-04 22:46:52] Fine-tune costs <span class="nv">$4</span>.89
<span class="o">[</span>2023-04-04 22:46:53] Fine-tune enqueued. Queue number: 5
<span class="o">[</span>2023-04-04 22:47:38] Fine-tune is <span class="k">in </span>the queue. Queue number: 4
<span class="o">[</span>2023-04-04 22:50:08] Fine-tune is <span class="k">in </span>the queue. Queue number: 3
<span class="o">[</span>2023-04-04 22:50:15] Fine-tune is <span class="k">in </span>the queue. Queue number: 2
<span class="o">[</span>2023-04-04 22:54:51] Fine-tune is <span class="k">in </span>the queue. Queue number: 1
<span class="o">[</span>2023-04-04 22:57:26] Fine-tune is <span class="k">in </span>the queue. Queue number: 0
<span class="o">[</span>2023-04-04 22:57:50] Fine-tune started
<span class="o">[</span>2023-04-04 23:06:11] Completed epoch 1/4
<span class="o">[</span>2023-04-04 23:20:51] Completed epoch 3/4
<span class="o">[</span>2023-04-04 23:28:34] Uploaded model: curie:ft-personal-2023-04-04-15-28-34
<span class="o">[</span>2023-04-04 23:28:35] Uploaded result file: file-RfmMXqxf94DhsxLN2jfATCTW
<span class="o">[</span>2023-04-04 23:28:35] Fine-tune succeeded
Job <span class="nb">complete</span><span class="o">!</span> Status: succeeded 🎉
Try out your fine-tuned model:
openai api completions.create <span class="nt">-m</span> curie:ft-personal-2023-04-04-15-28-34 <span class="nt">-p</span> <YOUR_PROMPT>
</code></pre></div></div>
<p>模型训练完毕,得到的自定义模型是”curie:ft-personal-2023-04-04-15-28-34”, 排队花了20分钟,训练花了30分钟,耗费资金大概4.89美元,2500条数据,还是不便宜的。</p>
<p>下面我们用新模型进行提问</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">(</span>.venv<span class="o">)</span> ➜ openai api completions.create <span class="nt">-m</span> <span class="s2">"curie:ft-personal-2023-04-04-15-28-34"</span> <span class="nt">-p</span> <span class="s2">"医药和消费有什么基金推荐的 ->"</span>
》医药和消费有什么基金推荐的 -> 消费和医药比%
</code></pre></div></div>
<p>可惜,给出的答案比较差,我们查看训练的结果数据,我们训练的最终目的是希望损失函数的结果最小,即training_loss值最小,且使得training_sequence_accuracy和training_token_accuracy值最大,但从下面的数据看,training_loss最小才0.06372293254171614,training_sequence_accuracy为0.5,training_token_accuracy最高也才0.9166666666666666,且表现得很不稳定,从这也就印证了为什么问答的效果并不好。</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">(</span>.venv<span class="o">)</span> ➜ openai api fine_tunes.results <span class="nt">-i</span> <span class="s2">"ft-SSIJ4DsHFfp9LEtuHWyQcn5B"</span>
step,elapsed_tokens,elapsed_examples,training_loss,training_sequence_accuracy,training_token_accuracy
1,482,2,0.45391547040630686,0.0,0.5755395683453237
2,980,4,0.6011948533307662,0.0,0.6086956521739131
3,1334,6,0.5914613516018767,0.0,0.528
4,1640,8,0.41827734171512065,0.0,0.5526315789473685
5,2618,10,0.5738252286081992,0.0,0.6934673366834171
6,3148,12,0.32921856693228024,0.0,0.639344262295082
7,3550,14,0.5036230062589969,0.0,0.5983606557377049
3855,2231118,7710,0.06739243882282422,0.0,0.9139784946236559
......
......
省略了中间的几千行内容
......
......
3856,2231616,7712,0.16957119258711775,0.0,0.8467153284671532
3857,2232082,7714,0.2004900809357239,0.5,0.808
3858,2232276,7716,0.08515305384741474,0.0,0.8518518518518519
3859,2232678,7718,0.19010555123939107,0.0,0.8529411764705882
3860,2233608,7720,0.057206735256356465,0.0,0.8762886597938144
3861,2234074,7722,0.2355557036819172,0.0,0.7916666666666666
3862,2234396,7724,0.14572308102632223,0.0,0.905511811023622
3863,2235182,7726,0.13363321007470183,0.0,0.8378378378378378
3864,2235488,7728,0.09592527983439035,0.5,0.9166666666666666
3865,2236002,7730,0.06372293254171614,0.0,0.8909090909090909
</code></pre></div></div>
<p>那好,下一步就是要定位到具体的问题,然后进行调优,这个就要放到下一篇文章再讲了。</p>
<h2 id="结论">结论</h2>
<p>在这篇文章里讲述了模型微调fine-tuning的基本概念和原理,还有利用OpenAI的工具训练自有模型的快捷方法。整体来说,快速入门还是比较简单的,要把模型调好还是要花不少时间和资金成本的,上面的演示的curie还不是最贵的基础模型,最贵的是davinci模型,还要贵10倍。</p>JackyWu联系我 这里用ChatGPT辅助投资之逻辑推演2023-04-04T00:00:00+08:002023-04-04T00:00:00+08:00http://jackywu.site/technology/%E7%94%A8ChatGPT%E8%BE%85%E5%8A%A9%E6%8A%95%E8%B5%84%E4%B9%8B%E9%80%BB%E8%BE%91%E6%8E%A8%E6%BC%94<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p><a href="http://chat.superassist.net">ChatGPT Web</a></p>
<h2 id="前言">前言</h2>
<p>之前经常遇到这样一个问题,当发生一个热点事件时无法推演出其直接和间接的影响链条,比如</p>
<ol>
<li>这个事件对哪些行业有利,对哪些行业不利?</li>
<li>这个事件对这个行业的产业链上下游是怎么发生影响的?</li>
<li>这个事件直接或间接带来了哪些投资机会?做多还是做空?</li>
</ol>
<p>受限于个人的时间精力和知识面,很难解答上面的问题,现在有了ChatGPT,虽然他的模型数据是2021年的,但是对于一些时效性不强的客观规律或者逻辑推演,都是ChatGPT可以发挥作用的。</p>
<h2 id="单级逻辑推演">单级逻辑推演</h2>
<p>问题:ChatGPT火了,为什么带动了低迷好几年的传媒板块?</p>
<p>我们把下面的问题抛给ChatGPT:http://chat.superassist.net/</p>
<blockquote>
<p>你现在是一个资深的投资分析师,你需要对我接下来的问题给出逻辑严密和详尽的分析解释:ChatGPT热点很火爆,为什么带动了低迷好几年的传媒板块?</p>
</blockquote>
<p><img src="/assets/images/image-20230331181544348.png" alt="image20230331181544348" /></p>
<p>其基本逻辑就是ChatGPT技术提升了媒体行业的生产效率,还是比较令人信服的。另外,中美之间在”科技“方面扮演不同的角色分工,硬核科技是美国在研发,中国具有全球最大的单一市场,主要扮演着硬核科技的技术应用的角色。传媒正是首当其冲的收益行业。</p>
<p>想要了解一个行业,最好的方法就是了解这个行业的产业链,那传媒的产业链是怎么样的?答案简单、全面。</p>
<p><img src="/assets/images/image-20230331184015567.png" alt="image20230331184015567" /></p>
<h2 id="多级逻辑推演">多级逻辑推演</h2>
<p>问题:ChatGPT技术的快速发展,会给哪些行业带来影响,又会创造出哪些行业的投资机会?</p>
<p>我们把下面的问题抛给ChatGPT</p>
<blockquote>
<p>你现在是一个资深的投资分析师,你需要对我接下来的问题给出逻辑严密和详尽的分析解释:ChatGPT技术快速发展,会对哪些行业带来深刻的改变?</p>
</blockquote>
<p><img src="/assets/images/chat-shot (1).png" alt="chatshot 1" /></p>
<p>通过上面的内容,我们可以知道,ChatGPT是一项很幕后底层的人工智能技术的前端表现形式,他的本质就是智能,它可以通过各种表现形式对人产生影响。比如,我们知道,人类具有五种常见的感官系统:视觉、听觉、嗅觉、味觉和触觉。这些感官系统使我们能够感知外部世界并与之交互。当下ChatGPT主要是通过视觉(主要是文字)跟我们进行互动,但其他方面的互动形式在不久就会出现,可想而知,其渗透到我们生活中的潜力有多大了。</p>
<p>在投资机会方面,基本上切中了TMT概念,在投资领域,TMT通常指的是科技、媒体和电信行业(Technology, Media, and Telecom)。这三个行业涵盖了各种与技术相关的公司,包括软件、硬件、互联网、电信、媒体和娱乐等领域。这也是最近一个月涨的最好的资产。另外有2个处于我预料之外的行业是”教育“和”医疗保健“,目前这两个行业的投资表现较差,不受资金追捧,但投资正是这样,买在无人问津处,现在可以仔细关注和研究起来。</p>
<p>上面的问题,ChatGPT给出了该技术能够带来的直接投资机会,那间接的投资机会呢?</p>
<p><img src="/assets/images/image-20230331202151204.png" alt="image20230331202151204" /></p>
<p>这个答案有点出乎我的意料,”金融“、”制造业“和”和”零售物流“我之前并没有注意,我对这个答案很满意。</p>
<h2 id="逻辑推导">逻辑推导</h2>
<p>最后,我希望ChatGPT可以做的更多。我们都知道,投资市场上每天的消息量非常庞大,且瞬息万变,价值投资者可能并不关系这些热点消息,但趋势投资者可能关注。比如,美联储是全球投资的风向标,他的一举一动多多少少影响着全球的各行各业,比如美联储加息,这个事件信号能触发多少直接和间接的事件,我很是好奇,我们基于这个目的来调试一下ChatGPT。</p>
<p>首先试探一下ChatGPT的基本逻辑理解能力怎么样?把这个问题抛给它</p>
<blockquote>
<p>在逻辑推理方面, <利好于> **, \**<利好于> , 可以推理出什么结论?\****</利好于></利好于></p>
</blockquote>
<p><img src="/assets/images/image-20230331213250988.png" alt="image20230331213250988" /></p>
<p>这个答案表明ChatGPT过关了。我们再进一步</p>
<blockquote>
<p>在逻辑推理方面, <利好于> **, \**<利好于> , 可以推理出\**** ***\*<利好于> 。比如<美联储降息> <利好于> <美债利率下跌>, <美债利率下跌> <利好于> <美国股市上涨>,你可以得到什么推理结论?\****</美国股市上涨></利好于></美债利率下跌></美债利率下跌></利好于></美联储降息></利好于></利好于></利好于></p>
</blockquote>
<p><img src="/assets/images/image-20230331213614960.png" alt="image20230331213614960" /></p>
<p>说明,ChatGPT不仅可以理解简单的符号,也可以理解以汉字表示的逻辑规则。</p>
<p>那我们赶紧举一反三,看看ChatGPT有没有举一反三的推演能力</p>
<p><img src="/assets/images/image-20230331213927948.png" alt="image20230331213927948" /></p>
<p>这个结果很让我意外,借助ChatGPT可以让我们得到很多投资领域的底层结论,扩展我们的认知。</p>
<p>随着我们不断给ChatGPT提问,然后收集他给出的结论,判断这些结论的真伪,去掉不合理的,留下合理的,组成一个很大的规则库,最后能干什么事情?这个事情想一想就很让人兴奋,我们可以把规则库一次性喂给ChatGPT,然后对他提问,如果某一个事情发生了,会导致哪些推论发生,这简直是一个”投资军师“啊。</p>
<p>我赶紧打开券商软件,看到第一条“美国2月核心PCE创一年半以来最低记录”,就以这个为例,提问给ChatGPT</p>
<p><img src="/assets/images/IMG_3796.PNG" alt="IMG3796" /></p>
<p><img src="/assets/images/image-20230331220139266.png" alt="image20230331220139266" /></p>
<p>我们再让它把答案重新组织成三元组格式</p>
<p><img src="/assets/images/image-20230331220216863.png" alt="image20230331220216863" /></p>
<p>可以给95分以上。ChatGPT辅助投资分析,超出了我的意料。后续,我会继续打磨和依靠这个AI驱动的投资军师。</p>
<p>顺便提一下,为什么要把答案组织成三元组的格式,这是为了后续做更庞大的规则推理,我们留在后续再详解。</p>
<h2 id="小结">小结</h2>
<p>ChatGPT的智能程度已经可见一斑,在单级、多级、逻辑推导方面都展现了一定的实力,甚至在某些方面还给出了超人预料的表现,相信,只要能用好ChatGPT这个智能工具,未来我们在个人投资方面的能力成长会更加迅速,尤其是,ChatGPT也在飞速进步,我们跟他站在一起,我们就会被带着飞速进步。</p>JackyWu联系我 这里用ChatGPT辅助投资之指数行业占比分析2023-04-03T00:00:00+08:002023-04-03T00:00:00+08:00http://jackywu.site/technology/%E7%94%A8ChatGPT%E8%BE%85%E5%8A%A9%E6%8A%95%E8%B5%84%E4%B9%8B%E6%8C%87%E6%95%B0%E8%A1%8C%E4%B8%9A%E5%8D%A0%E6%AF%94%E5%88%86%E6%9E%90<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p><a href="http://chat.superassist.net">ChatGPT Web</a></p>
<p>做投资理财经常会关注很多新闻热点、很多数据、很多投资标的于是,很容易让人产生一些问题</p>
<ol>
<li>这么多好行业或者概念怎么投资呢?总不能全买吧,选哪些ETF有比较好的覆盖面呢?</li>
<li>这些个ETF到底是概念ETF还是行业ETF?里面到底包含了哪些行业?会是挂羊头卖狗肉么?</li>
<li>天天基金上有所有基金的前十大持仓占比和行业占比,但行业占比只统计到一级行业,但怎么看更详细的呢?</li>
<li>中证指数官网包含了市场上很大一部分指数的编制说明,很详细,但行业占比只统计到二级行业,且只有前10大持仓,怎么看全部的呢?</li>
</ol>
<p>很自然想到,只能靠自己动手来分析数据了。上面的问题总结起来就是一个问题:怎么统计一个指数成分股的行业分布。</p>
<p>先说说行业分类标准。股票市场的行业分类有好多标准,比如申万行业,万德行业分类、东财行业分类、证监会行业分类,自然,中证公司也有自己的行业分类,在分类标准这件事上,一家上市公司所属的一级行业和二级行业在各标准间一般不会有差别,在更细分的三级和四级行业有差别,也不影响我们的本来目标。所以,这里我就直接使用了中证公司的行业分类(<a href="https://www.csindex.com.cn/#/dataService/industryClassification">下载地址</a>)。其格式如下,包含了A股和港股的所有股票</p>
<p><img src="/assets/images/image-20230327090626998.png" alt="image20230327090626998" /></p>
<table>
<tbody>
<tr>
<td>再说说分析的过程。我这次主要是想知道“智能制造”</td>
<td>“高端制造”到底是包含了什么?如果要说概念解释,百度一搜就搜到了这么一篇文章:<a href="https://mp.weixin.qq.com/s?__biz=MzUyNzY2NDU4NA==&mid=2247486818&idx=2&sn=164eb7f35f78655ba616d15cb4ce9a13&chksm=fa7d59c5cd0ad0d3c28d540885735011595f40ed794544031de6a2da1469642a38a3c07d7f2a&scene=27">一文读懂智能制造究竟是什么?</a>,但跟我的目的,跟投资没什么关系。于是,我在天天基金里搜索“<a href="http://fund.eastmoney.com/data/fundsearch.html?spm=search&key=智能制造#key智能制造">智能制造</a>”关键词,搜到了16只基金,其中有一只就是“华宝中证智能制造主题”,于是我就知道他肯定是对标了某个中证的指数。</td>
</tr>
</tbody>
</table>
<p><img src="/assets/images/image-20230327085934750.png" alt="image20230327085934750" /></p>
<p>通过基金页面找到他是跟踪了“中证智能制造主题指数 (930850)”这个指数,于是去“<a href="https://www.csindex.com.cn/#/indices/family/detail?indexCode=930850">中证智能制造主题指数 (930850)</a>”的中证官网找到了他的基本数据,有历史点位,前5大和10大持仓,一级行业分布,和相关基金产品,在此页面也可以下载指数样本列表。(后续有经验了,就可以先来中证官网搜索一下关键词),930850指数的样本列表格式如下</p>
<p><img src="/assets/images/image-20230327090905687.png" alt="image20230327090905687" /></p>
<p>那好,拿到了中证行业分类数据,也拿到了指数的成分,分析思路也很简单</p>
<ol>
<li>以指数成分表里的E列(成分券代码)为索引去行业分类表的A列(证券代码)找对应,找到后,把他的四个级别分类数据拿过来</li>
<li>确定接下来用几级行业进行分类统计</li>
<li>对该列的行业分类进行分组归类加和,然后计算百分比</li>
</ol>
<p>最后就是写代码的过程了</p>
<p>先把成品代码放在这里,下面详细解释怎么用ChatGPT来辅助编程</p>
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">class</span> <span class="nc">Statistics</span><span class="p">:</span>
<span class="k">def</span> <span class="nf">industry_statistics</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">code</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">levels</span><span class="p">:</span> <span class="nb">list</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">]):</span>
<span class="s">"""对指数的所属行业进行统计,并给出百分位占比排序
code (str): 指数代码
levels (list): 行业分类的级别,默认从1级开始
"""</span>
<span class="c1"># 设置dataframe打印时的列对齐
</span> <span class="n">pd</span><span class="p">.</span><span class="n">set_option</span><span class="p">(</span><span class="s">"display.max_columns"</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
<span class="n">pd</span><span class="p">.</span><span class="n">set_option</span><span class="p">(</span><span class="s">"display.width"</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
<span class="n">pd</span><span class="p">.</span><span class="n">set_option</span><span class="p">(</span><span class="s">"display.max_colwidth"</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
<span class="n">pd</span><span class="p">.</span><span class="n">set_option</span><span class="p">(</span><span class="s">"display.unicode.ambiguous_as_wide"</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span> <span class="c1"># 将模糊字符宽度设置为2
</span> <span class="n">pd</span><span class="p">.</span><span class="n">set_option</span><span class="p">(</span><span class="s">"display.unicode.east_asian_width"</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span> <span class="c1"># 检查东亚字符宽度属性
</span>
<span class="n">dataset_path</span> <span class="o">=</span> <span class="n">config</span><span class="p">.</span><span class="n">VAR_ROOT</span> <span class="o">/</span> <span class="s">"dataset"</span>
<span class="n">adf</span> <span class="o">=</span> <span class="n">pd</span><span class="p">.</span><span class="n">read_excel</span><span class="p">(</span><span class="n">dataset_path</span> <span class="o">/</span> <span class="s">"行业分类.xlsx"</span><span class="p">)</span>
<span class="n">cdf</span> <span class="o">=</span> <span class="n">pd</span><span class="p">.</span><span class="n">read_excel</span><span class="p">(</span><span class="n">dataset_path</span> <span class="o">/</span> <span class="sa">f</span><span class="s">"</span><span class="si">{</span><span class="n">code</span><span class="si">}</span><span class="s">cons.xls"</span><span class="p">)</span>
<span class="n">left</span> <span class="o">=</span> <span class="n">cdf</span><span class="p">.</span><span class="n">iloc</span><span class="p">[:,</span> <span class="p">[</span><span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">]]</span>
<span class="n">left</span><span class="p">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s">"code"</span><span class="p">,</span> <span class="s">"name"</span><span class="p">]</span>
<span class="n">right</span> <span class="o">=</span> <span class="n">adf</span><span class="p">.</span><span class="n">iloc</span><span class="p">[:,</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">9</span><span class="p">]]</span>
<span class="n">right</span><span class="p">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span><span class="s">"code"</span><span class="p">,</span> <span class="s">"L1"</span><span class="p">,</span> <span class="s">"L2"</span><span class="p">,</span> <span class="s">"L3"</span><span class="p">,</span> <span class="s">"L4"</span><span class="p">]</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">pd</span><span class="p">.</span><span class="n">merge</span><span class="p">(</span><span class="n">left</span><span class="p">,</span> <span class="n">right</span><span class="p">,</span> <span class="n">on</span><span class="o">=</span><span class="s">"code"</span><span class="p">,</span> <span class="n">how</span><span class="o">=</span><span class="s">"left"</span><span class="p">)</span>
<span class="k">for</span> <span class="n">level</span> <span class="ow">in</span> <span class="n">levels</span><span class="p">:</span>
<span class="n">pct</span> <span class="o">=</span> <span class="mi">100</span> <span class="o">*</span> <span class="n">result</span><span class="p">.</span><span class="n">groupby</span><span class="p">(</span><span class="sa">f</span><span class="s">"L</span><span class="si">{</span><span class="n">level</span><span class="si">}</span><span class="s">"</span><span class="p">).</span><span class="n">size</span><span class="p">()</span> <span class="o">/</span> <span class="nb">len</span><span class="p">(</span><span class="n">left</span><span class="p">)</span>
<span class="n">pct_sorted</span> <span class="o">=</span> <span class="n">pct</span><span class="p">.</span><span class="n">sort_values</span><span class="p">(</span><span class="n">ascending</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">pct_sorted</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="s">"-"</span> <span class="o">*</span> <span class="mi">20</span><span class="p">)</span>
</code></pre></div></div>
<p>首先要把excel读到程序里当做表格来分析,问ChatGPT怎么写代码</p>
<p><img src="/assets/images/image-20230327091541982.png" alt="image20230327091541982" /></p>
<p>然后,把指数成分表的第4、5两列提取出来作为一个新的表格,把行业分类表的第0, 3, 5, 7, 9列提取出来作为一个新表格,通过下面的答案举一反三很容易就推理出来怎么小改一下代码</p>
<p><img src="/assets/images/image-20230327093525676.png" alt="image20230327093525676" /></p>
<p><img src="/assets/images/image-20230327092146487.png" alt="image20230327092146487" /></p>
<p>现在要用股票代码去找映射关系了,</p>
<p><img src="/assets/images/image-20230327092112045.png" alt="image20230327092112045" /></p>
<p>找好映射关系了,要做合并统计</p>
<p><img src="/assets/images/image-20230327092347043.png" alt="image20230327092347043" /></p>
<p>统计得到了每个行业的百分比,那还要按照从高到低排序</p>
<p><img src="/assets/images/image-20230327100144513.png" alt="image20230327100144513" /></p>
<p>最后发现,统计结果的输出没有对齐</p>
<p><img src="/assets/images/image-20230327092543122.png" alt="image20230327092543122" /></p>
<p><img src="/assets/images/image-20230327094041440.png" alt="image20230327094041440" /></p>
<p>通过上面的问题,ChatGPT已经能够将核心答案都告诉我了,但是怎么组织成一个完整的程序还是需要靠自己,所以,怎么叫做“ChatGPT辅助投资”呢,而且ChatGPT还只能“辅助编程”,需要程序员自己来调试,但这已经很提升效率了,问几个问题就把核心问题都解决掉了。</p>
<p><img src="/assets/images/image-20230327100312774.png" alt="image20230327100312774" /></p>
<p>小结</p>
<ol>
<li>做投资,非常重要和常见的需求就是做数据分析;</li>
<li>ChatGPT可以在数据分析这件事上辅助编程,极大提升效率;</li>
</ol>JackyWu联系我 这里用ChatGPT找图片2023-04-02T00:00:00+08:002023-04-02T00:00:00+08:00http://jackywu.site/technology/%E7%94%A8ChatGPT%E6%89%BE%E5%9B%BE%E7%89%87<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p><a href="http://chat.superassist.net">ChatGPT Web</a></p>
<p>既然ChatGPT是一个人工智能,他能以文字的形式回答问题,那么给他一定的提示,他也可以图片的形式跟我们问答。</p>
<p>这有什么用呢?比如我想写一篇文章,需要找配图,我不希望自己去各种搜索引擎找,希望把我的详细需求告诉机器人,一对一,他就帮我把事情办了。</p>
<p>现在我们以“角色扮演”的技巧来调试ChatGPT,打开ChatGPT代理网站:<a href="http://chat.superassist.net">SuperAssist</a>,我们把问题输入进去</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>现在你是一个搜索引擎,寻找我告诉你的图片,找到以后用Markdown语言生成,不要用反引号,不要用代码框,你需要用Unsplash API,遵循以下的格式:![](https://source.unsplash.com/1600x900/?< PUT YOUR QUERY HERE >)。现在,请给我找一张大海的图片。
</code></pre></div></div>
<p>这里有一个小技巧要注意:最好一次性把所有内容都放在一个问题里发出去,可以节省网络调用次数,提升使用体验。</p>
<p>下面来实践一下</p>
<p><img src="/assets/images/Xnip2023-03-16_14-31-36.png" alt="Xnip20230316143136" /></p>
<p>举一反三,我们这是从unsplash网站上找图,我们还有好多其他的图片网站可以利用。比如国内的知名图片网站,像是百度图片、搜狗图片等等。同样地,我们可以将这些图片网站的地址喂给ChatGPT,让ChatGPT能够更加便捷地搜索和获取所需的图片。</p>
<p>小结</p>
<ol>
<li>自媒体找图是一件很麻烦的事情,非常耗时间,用好ChatGPT可以轻松帮我们节省时间。</li>
<li>我们可以通过跟ChatGPT进行多轮沟通,不断打磨我们提给ChatGPT的问题,让它更精准理解我们的意图,帮我们找到更适配的图片素材。</li>
</ol>JackyWu联系我 这里创业公司可能会遇到的一些坑(二)2023-04-01T00:00:00+08:002023-04-01T00:00:00+08:00http://jackywu.site/management/%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8%E5%8F%AF%E8%83%BD%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E5%9D%91(%E4%BA%8C)<p>联系交流方式:<a href="/contact/">这里</a></p>
<hr />
<p>托尔斯泰在他的小说《安娜·卡列尼娜》中说到“幸福的家庭都是相似的,不幸的家庭各有各的不幸”。这句话可以解读为,让一个家庭幸福的必要条件无非就是固定的那几样,而一个幸福的家庭通常都在这些条件上满足地比较好,而不幸的家庭则或多或少在一些方面都较大的不足,因而也表现出各种不同的不幸状况。如果把创业公司类比为一个家庭,其实也是十分相似的,都是一个团体,有不同的生活经历、做事习惯和三观,但是有一个共同的目标,有付出,也期待回报,因“缘”而聚,无“缘”而散。所以,如果把上面那句话放在创业公司身上再解读一遍,就是,一个创业公司成功的必要条件就是固定的那些,一个公司成功地活下来了,必然是具备了那些条件,而死掉的公司则或多或少地在某些条件上不满足而造成了各种不同失败的结局。</p>
<p>接上一篇《<a href="/management/创业公司可能会遇到的坑/">创业公司可能会遇到的坑</a>》,这里思考了一些其他创业公司可能会遇到的坑,主要是公司管理方面的</p>
<ol>
<li>焦虑。创业是九死一生的事情,老板会受到各方面的多重压力,为了让公司奋勇向前,老板必然是要逐级往下传导焦虑(压力)的。但是,这种压力的传递要注意导向性,即要像临战前将军给士兵的训话,立场是团结内部而一致对外。一种不好的导向性则是让自己的士兵感受到如果打不赢仗,将军就会把他们全部砍头,这会让大家感觉到人心惶惶而极大降低战斗力。其实职场人心里都明白,业务干不好就会被裁掉,但是把这种情绪放到明面上来渲染则会造成反作用。</li>
<li>贪多。创业公司不仅要面临业务的挑战,还有生存的挑战,要让自己活下去就要有现金流。而赚钱的途径有多种,一种是继续加强在主营业务上的投入,从而促成更强的产品力和更多的订单,另一种则是,开展副业,赚点块钱。其实这种情况是很难拿捏的,如果副业是一次性的低投入而可以快速获得回报,那么就可以用这笔收入继续投入到主营业务上,但如果相反,副业的成本很高,回报也一般,那么就会给主业带来极大的拖累。一般来说,一个创业公司存在的意义就是他有独特的产品竞争力,而这一般就是该公司的主营业务,如果主营业务很困难,需要副业来养活,这本身就是个悖论。另外,创业公司的资源是有限的,这里多投一点,那里就会少一点,寄希望于主业和副业都做好,都能赚钱,这种期望应该有些过高。</li>
<li>动荡。我们知道,生意就是”用我的资源去解决别人的问题并收取报酬“。创业公司就是利用自己整合到的资源去解决客户的问题,只要问题没有变,我们就要持续投入资源,人不适合就换,钱不够就再融。另外,一个公司的组织架构是根据业务来确定的,而公司的业务就是围绕”如何解决客户的问题“,如果问题没变,业务就没变,组织架构就没有变动的必要,尤其是对于小创业公司来说,本来人也不多,所以最重要的是人心齐,让大家全力以赴在解决问题上。反之,如果小公司里的组织架构频繁调整,则会动摇军心,制造隔阂,制造迷茫,让大家的注意力放到了如何适应新的组织架构。什么公司什么情况下需要组织架构的频繁调整?一些我的思考:一个巨无霸似的大集团公司,什么业务都做,随着时间的推进,有的业务做起来了,有的业务没做起来,做起来的业务需要持续招兵买马,没做起来的业务则可以砍掉。当成长性业务进入了稳定期,则停止扩张团队,当业务进入了衰退期,则收缩团队。当有新业务出现,则内部调动人力资源或外部招聘组建新团队。当现有团队效率低下时,如果是管理的问题,换掉管理者就好,如果是该团队的业务太单薄或者太冗杂进而影响效率,则有必要对组织架构进行调整,使得团队职能完整,职责边界清晰,工作量饱和。</li>
<li>沟通有间隙。“人心齐”这应该是团队作战最重要的堡垒,人无完人,但团队里出现了错误则需要由这个堡垒来纠正和弥补,创业公司需要一支“过命的兄弟”似的核心团队,大公司才需要职业经理人。之前看了“汉高祖刘邦”的创业故事,非常有感触,是沛县出来的兄弟们帮刘邦打下了江山,刘邦也是在兄弟们中间从一个小亭长的心态逐步成长成熟起来,到最后拥有了宏大的格局和手段。其中最重要的是核心人物刘邦的性格,他决定了自己周边会有一群什么样的人,决定了这群人能交心到多深,能跟着他走多久。性格决定命运,而性格是先天的基因和后天的幼年成长经历决定的,成年后几乎极难改变。其次,是其他各人的性格和目的,这决定了这些人是否能够团结在一起,能在一起走多远。</li>
</ol>
<p>该文章将持续更新。</p>JackyWu联系交流方式:这里用ChatGPT写简报2023-04-01T00:00:00+08:002023-04-01T00:00:00+08:00http://jackywu.site/technology/%E7%94%A8ChatGPT%E5%86%99%E7%AE%80%E6%8A%A5<p>联系我 <a href="/contact/">这里</a></p>
<hr />
<p><a href="http://chat.superassist.net">ChatGPT Web</a></p>
<p>我们知道ChatGPT有强大的信息提取能力和预测推理能力,那我们能不用让ChatGPT机器人成为我的一个随身秘书,帮我了解新闻资讯呢?大家也都知道,现在的新闻,动则几千字,甚至万字雄文,但其实干货很少,拼命看完后感觉被骗了时间。有的文章看个标题就够了,有的看看每个段落的第一句,然后再看看结尾那段结论,基本就知道文章想要表达哪些观点,不过,那还是挺耗费注意力的。那我干脆用这个秘书帮我看新闻,然后给我1个200字精简的简报,岂不是更好。我们来看怎么调教这个机器人。</p>
<blockquote>
<p>现在你是一个资深的报刊编辑,你需要对我后续发给你的文本内容进行阅读并且提取关键信息,并且组织成不超过200个汉字的简报,你需要让简报的逻辑通畅和自洽,尽量保留关键的数字信息。我将在这个问题的冒号后面附上文本的内容:</p>
<p>微软股价出现近八年来最好的一周涨幅,硅谷银行的倒闭和OpenAI ChatGPT的流行促使投资者转向对下一个重大事件感兴趣的老牌科技公司。</p>
<p> 微软股价上周五收涨12.4%,为2015年4月24日以来最大单周涨幅。2015年4月24日,在该公司预测云业务将增长之后,该公司股价一周大涨15%。</p>
<p> 这家科技巨头不仅是上周五硅谷银行倒闭的受益者,因为投资者在成熟的科技公司中寻求安全,而且还受益于其对私人持股的人工智能公司Open AI的大量投资。随着ChatGPT人工智能模型的普及,Open AI正迅速成为家喻户晓的名字。</p>
<p> 微软已经将ChatGPT整合到必应搜索引擎和Office 365 Copilot中,后者将大语言模型与用户数据相结合,以提高工作效率。副驾驶系统使用了OpenAI上周发布的ChatGPT最新版本GPT-4。</p>
<p> 虽然美国联邦存款保险公司(Federal Deposit Insurance Corp.)和美国联邦储备委员会(Federal Reserve)上周末采取紧急措施,为硅谷银行(Silicon Valley Bank)超过25万美元的存款提供保险,但地区银行业的持续动荡,如第一共和国银行(First Republic Bank)的FRC,银行业向其注资300亿美元,促使投资者转向科技板块的知名公司,纳斯达克指数(Nasdaq)本周上涨4.5%,而标准普尔500指数(S&P 500)上涨1.6%。</p>
<p> 在过去的12个月里,微软股价下跌了5.4%,而iShares扩展科技软件ETF下跌了13.4%,道琼斯工业平均指数下跌了7.6%,标准普尔500指数下跌了11.2%,科技股为主的纳斯达克综合指数下跌了14.6%。</p>
</blockquote>
<p><img src="/assets/images/chat-shot.png" alt="chatshot" /></p>
<p>看上面的简报比读那一长串的新闻文字舒服多了。不过这里有个限制,就是目前这个模型的机器人不支持超过</p>
<p>换个角度思考,如果你是个媒体人,你的一部分工作就是要每天给你的粉丝发简报,你是不是找到了一个很好的帮手?</p>
<p>再扩展一下。</p>
<p>既然说到了投资,那么既然微软和英伟达这类GPT概念股是最受益的公司,我们有什么办法能够投资他们呢?可以让ChatGPT推荐ETF。</p>
<p><img src="/assets/images/chat-shot (2).png" alt="chatshot 2" /></p>
<p>但实操后发现,机器人的回答一般般,经过提醒后,他给出的数据也不准确,比如微软的持仓占比,但是他推荐的几只ETF是对的,我们至少在股票软件里稍微对比一下就可以找到自己需要的ETF了。关于更多用ChatGPT来辅助投资的话题我们后续再多聊。</p>
<p>小结一下</p>
<ol>
<li>ChatGPT可以帮我们把一篇大文章提炼成简报,非常得力。</li>
<li>只要我们敢想,ChatGPT能够把任何信息跟投资结合起来。</li>
</ol>JackyWu联系我 这里