首页
学习
活动
专区
圈层
工具
发布

我是怎么从零学会量化交易的

再过了一些日子,也就能自己学着写一些代码碎片了。只是在我写下第一行MQL的时候,也没想到一个月后就有第一笔正收益。 ? 量化交易的核心逻辑 ?...实际上对于有一定代码素养的开发来说,理解量化交易最关键只需要弄明白三个东西。 【择时,出场,止损】 择时指的是在什么时候做开仓操作。出场则说的是在什么条件下选择平仓。...比如你是一个依靠指标交易的操盘手,你的择时逻辑是当看到CCI指标高于100的时候就买入一个标的。 ? CCI是反映一个商品超买或者超卖的一个指数,很多量化框架可以通过API知道某个标的的CCI值。...这是我刚开始学量化交易时写的第一段代码。再加上其他的交易逻辑,验证逻辑,大概花了一个月时间就上线了。...然而知道什么时候开仓只是入门水平,学会了什么时候出场才算上了道。我到现在还不敢说百分百有把握知道出场时机,所以都交给程序自己去判断。程序不会犯错,人才会犯错。

1.4K30

如何用TensorFlow和Swift写个App识别霉霉?

,我只需调整模型的一些层级,就能用它们完成具体的图像识别任务,比如识别 Taylor Swift。...除了将我的模型和Cloud Storage中的数据连在一起外,配置文件还能为我的模型配置几个超参数,比如卷积大小、激活函数和时步等等。...在我的 train/bucket 中,我可以看到从训练过程的几个点中保存出了检查点文件: ? 检查点文件的第一行会告诉我们最新的检查点路径——我会从本地在检查点中下载这3个文件。...然后我将添加了边框的新照片保存至 Cloud Storage,并写出照片到 Cloud Firestore 的文件路径,这样我就能读取路径,在 iOS 应用中下载新照片(带有识别框): const admin...但是后面有时间的时候,我会用更多照片重新训练模型,提高识别正确率,在 App Store 上架这个应用。 结语 这篇文章信息量还是蛮大的,也想自己做一个这样的 APP,比如能识别抖森或者别的谁?

17.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    腾讯云COS挂载故障排查实战手册:运维老鸟的踩坑与填坑指南

    解决办法:做网站图片、静态资源的,选"公有读私有写"(设置步骤:点击"编辑"→选择"公有读私有写"→保存);存敏感文件(比如用户数据、备份)的,选"私有",然后通过"预签名URL"让别人临时访问(COS...一定要用"复制(Ctrl+C)+粘贴(Ctrl+V)"。如果是在Linux命令行里配置,粘贴后可以按"左右箭头"移动光标,检查有没有多余字符。...,这样就能用最新版cosfs了。有些问题看似冷门,但一旦碰到能让你怀疑人生。我曾经因为服务器时间快了10分钟,导致COS签名验证失败,挂载时提示"Request has expired"。...重要业务(比如电商网站)一定要做容灾:在另一个地域新建一个存储桶,定期把主桶的文件同步过去(COS控制台→数据迁移→跨桶复制),这样主桶出问题时,能快速切换到备用桶。...第四步:核配置(参数对不对):对照官方示例,检查存储桶名称、Endpoint、挂载路径、参数格式有没有写错。按这个流程走,90%的问题30分钟内就能解决。

    49310

    Java:并发不易,先学会用

    但一个脑子并不意味着不能“一脑两用”,关键就在于脑子有没有“并发”的能力。 脑子要是有了并发能力,那真的是厉害到飞起啊,想想司马懿被气定神闲的诸葛大佬吓跑的样子就知道了。...你一定注册过不少网站,收到过不少验证码,如果网站的服务器端在发送验证码的时候,没有专门起一个线程来处理(并发),假如网络不好发生阻塞的话,那服务器端岂不是要从天亮等到天黑才知道你有没有收到验证码?...分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,由Java虚拟机控制。如果代码允许很多线程同时读,但不能同时写,就上读锁;如果代码不允许同时读,并且只能有一个线程在写,就上写锁。...synchronized属于互斥锁,任何时候只允许一个线程的读写操作,其他线程必须等待;而ReadWriteLock允许多个线程获得读锁,但只允许一个线程获得写锁,效率相对较高一些。...来看一下王宝令老师总结的思维导图就能知道。 ? 但你也知道,“冰冻三尺非一日之寒”,学习是一件循序渐进的事情。

    48530

    Java:并发不易,先学会用

    你一定注册过不少网站,收到过不少验证码,如果网站的服务器端在发送验证码的时候,没有专门起一个线程来处理(并发),假如网络不好发生阻塞的话,那服务器端岂不是要从天亮等到天黑才知道你有没有收到验证码?...-8,我超喜欢沉默王二的写作风格 我叫Thread-9,我超喜欢沉默王二的写作风格 从运行的结果中可以看得出来,线程的执行顺序不是从0到9的,而是有一定的随机性。...分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,由Java虚拟机控制。如果代码允许很多线程同时读,但不能同时写,就上读锁;如果代码不允许同时读,并且只能有一个线程在写,就上写锁。...synchronized属于互斥锁,任何时候只允许一个线程的读写操作,其他线程必须等待;而ReadWriteLock允许多个线程获得读锁,但只允许一个线程获得写锁,效率相对较高一些。...来看一下王宝令老师总结的思维导图就能知道。 ? 但你也知道,“冰冻三尺非一日之寒”,学习是一件循序渐进的事情。

    44820

    我用AI监控了奥特曼,当他一发推特AI就会自动给我打电话。

    真的,那一整周,我每天就睡3、4个小时,你们不知道那种感觉,从凌晨12点开始,每过几分钟我都要刷下X,真的,快特么刷出幻觉了。 然后,奥特曼这个口嗨,疯狂放鸽子。...于是我就想,能不能做一个监控,在奥特曼发X的时候,直接打电话叫醒我,这样,我就就不用干等了。 该12点睡觉就12点睡觉,如果真的有啥新东西,啪一个电话直接把我喊起来,而不是每天在那傻傻的刷新。...监控奥特曼的X,每几分钟爬取1次,检查有没有新的帖子。 2. 抓到了新的帖子,就直接给我打电话,实现深夜叫醒服务。...那一刹那,我灵光一现。 打电话,也不一定非说要打系统电话吗,微信也行,飞书也行,只要能把我喊起来,管他是个什么电话,你说对吧。 微信没有API,但是飞书有开放平台。...然后,看到了一个有趣的东西,消息已读。 这就是现成的解决方案嘛。 刚刚就是发了一条消息,然后可以通过消息是否已读,来实现检测我是否醒了,只要消息还是未读,就一直给我打电话,直到我被烦醒为止。

    27900

    程序猿菜鸟打怪升级—一路火花带闪电

    (人越努力,就会越幸运,学习技术也一样,够努力,菜鸟也能逆袭成大佬) 考完后就开始考研,考研基本就是早出晚归的泡图书馆,图书馆什么时候熄灯,就什么时候回宿舍,就这样早出晚归的过了差不多一年。...其实初学技术就是这样,不知道该怎么学技术,就是因为对技术不够了解,动起来,先把自己感兴趣的都学,学着学着就知道自己的最大兴趣点在哪里了。...遇到不懂的,就去五道口晃悠(八卦一下,当时楼教主还在姚班读博),反正晃悠回来肯定能找到答案。 现在经常有人问我:想写技术博客,但不知道怎么写?...很快就刷了5道,面试的人很忙,让我等会,反正也闲着,我顺便把这7道题全刷了,后面面试官进行来说笔试成绩满分,就这样很顺利的通过了面试。...从读研时我就一直保留着一个小习惯,每晚睡前都会看至少半小时以上的书(一直对电子书无感,偏好纸质书,可以做笔记),这一年我的重点都放在基础上,jdk的源码、缓存、分布式等技术的研究上。

    67120

    读博那些事儿 | CCF优博、南大蒋炎岩:我的博士五年

    我觉得他给我树立了一个很好的榜样,大概是 “知道厉害的人有多厉害”。既然玩不来这个游戏,就一定要找一个要积累足够的经验才能玩起来的领域: 永远不要跟一个傻 X 争论。...反正 99% 的 idea 都是别人已经想到或者没有用的,但小概率事件大量重复必然发生,只要每天坚持拍脑袋,脑袋一定会秃的,哦不,是一定会有靠谱的 idea 的。...到后来可以做到几页纸的代码,proof read 一遍,敲进去编译过就能交,过了就是过了,不过稍微测点数据再读一遍代码也能搞定。...另一方面,我们也已经知道共享内存上的互斥和可序列化并发对象必须借助读 - 写原子操作才能实现 [10]。这启发我们提出了一个猜想:观测并发程序的执行没有免费的午餐 (no-free-lunch)。...具体的陈述是,在一个限定的计算模型下,即便允许对并发程序进行一定程度的修改 (在共享内存访问前后插入一定数量的共享内存读 / 写操作,其中写操作只限于为观测并发程序执行而额外分配的内存),只要这些插入的读

    3K31

    幽默的程序员:写了100万行代码的程序员是什么样的程序员

    如果你一个项目写了一百万行,那你肯定是参与了一个比较大的项目了。 如果你一个类写了一百万行,请问你用的是什么编辑器?如果你一个方法写了一百万行代码的话,请问你有没有被同事打死?...程序员不适合你这种锲而不舍的精神。 D同学:切,一群渣渣。给你们看看一张网图就知道我连续熬夜写几千行代码是什么状态了。我感觉我快要窒息了,如果时间可以倒流,我希望我不做程序员!!!...谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。...事实上,很多代码上的问题,都可以通过一些工具来找到,比如Android开发中有Lint, Find bugs, PMD等优秀静态检查工具可用,通过改进这些工具找出的问题,就能对语法的细节,规范,编程的技巧有更多直观了解...建议最好与持续集成(CI),代码审查环境配套使用,每次提交的代码都能自动验证是否通过了工具的代码检查,通过才允许提交。

    53920

    自己维护的代码都读不过来,还需要看开源社区的代码么?

    最近后台有个同学问阅读源代码的问题。他说感觉自己团队维护的代码都看不过来,还需要看开源社区的代码么? 我的回答是:一定要。...,读不相干的代码,似乎没用 我常常把写代码和写作进行类比 —— 二者有很多相通之处;但从培养写代码和写作的过程来看,二者又有很多不同。...初读围城的时候,我关注点是其故事性,将这样的句子轻易放了过去,几年前再读时,才发觉它的精妙:竟能如此简单地以物喻人,就把整个场景复原到如同发生在我的面前一样活灵活现。...有时候,你读源码受到的启发可能一下子不会找到使用的场景,就像我上一篇文章中介绍的 axum 如何使用声明宏 + 泛型 + trait 构建出可以媲美动态语言的 API 使用感受,在惊叹之余,很可能自己手头的项目并不能很快找到这样的精妙设计的用武之地...比如作为一个后端工程师,你可能维护一个内部的管理系统的 REST API。当你有余力的时候,可以从一个 API 的生命周期中遇到的所有场景中,选择你感兴趣的内容。

    62630

    骑上我心爱的小摩托,再挂上AI摄像头,去认识一下全城的垃圾!

    一个城市只需要有一些这样的摄像头,装在垃圾收集车或专用车辆,垃圾处理中心的人员可以从他们的办公室实时远程监控垃圾统计数据,比如每种垃圾类型通常出现在哪里,每天、每周和每月的趋势,热点等。 ?...另外,这样的专用车辆还可以检测居民不按时间地点要求扔垃圾的情况,以进行实时干预。 有了这样的想法,Michele Moscaritolo就付诸行动,做了这样的一个智能摄像头和垃圾监控系统。...加上一个简单的稳压器和一个电源按钮,我就有了一个智能的Vespa摩托车,我给它取了个名字——VespAI! ?...垃圾的GPS坐标通过简单的gpsd接口从usb模块读取,将数据存储在Google Firestore实时数据库中,这样本地的Google firebase SDK就被用于客户端应用程序开发。...Firebase客户端SDK包括一个通用的API,可用于订阅客户端应用程序,以添加/更新/删除 Firestore数据库上运行在VespAI上的应用程序产生的活动。

    14.4K30

    Senz创始人冯小平:送给数据分析师的6种玩具

    Kinect for windows 比如说Kinect windows,这个是我摆在客厅、办公室里说这里什么时候有一个人在这边,这个东西持续记下来了,我们现在还不知道能分析什么,一旦有一天我们的算法更牛了...Mindwave 这个是一个记录脑波的数据,它可以简单地记录出你一天的注意力的值,当然可能学过大脑神经的人知道各种波对人的精神状态是什么作用,它又做了一层,你可以知道这个人注意力多高,你有没有眨眼,你有没有很冷静...另外分享多去hackathon,我认为hackathon是一个线下同性交友社区,当然不一定同性。...我录了我写代码时候的脑波的情况,我注意力的值,我可以拿我注意力的值来评估我不同区域代码出BUG的几率,概率低的我就可以过去,高概率的地方我就仔细检查一下。 第三个分享就是多用API。 ?...比如爬虫、图象识别、情绪识别,像刚才说的物体的其实都有在线的独立第三方提供API,如果你不知道这些API的话,你需要想我需要这样一个功能来实现我的想法的时候,你就不知道到底应该怎么做,难道图象识别、人脸识别我要重新做吗

    84880

    学习一项技能要花多少时间?

    Rei 写于 12 Dec 2013 前不久,一个技术 party 上有人问我:“我学习 Rails 已经2个月了,但还是对整个开发流程缺乏清晰的了解,我应该怎么学呢?”...看到这样的提问,我第一反应是他 / 她们对自己的要求是不是太高了? 我学得很慢 我从没有什么 Web 基础开始直接学 Rails 框架,到找到一份 Ruby 程序员的工作用了2年半。...如果平均每天有效利用时间是3小时,至今已经接近了5000小时的量,按照10000小时到专家的理论,我还有另一个4年半要学习,我感觉这个估算还是比较准确的。...而我只能坐在小房间里面做一些不知道有没有人需要的软件,看来“奇迹”是不会发生在我身上的了。...没有人告诉你要走什么路线,什么时候前进,什么时候停止,一切都取决于你自己,志向决定高度。但也正是这么多的未知和可能性,产生了这么多的乐趣。

    33310

    分布式事务之TCC与SAGA

    Fenix's Bookstore 在线书店的场景事例中,如果缺乏了隔离性,就会带来一个显而易见的问题:超售。 事例场景:Fenix's Bookstore 是一个在线书店。...也就是说,在书店的业务场景下,很有可能会出现这样的情况:两个客户在短时间内都成功购买了同一件商品,而且他们各自购买的数量都不超过目前的库存,但他们购买的数量之和,却超过了库存。...所以,GTS 增加了一个“全局锁”(Global Lock)的机制来实现写隔离,要求本地事务提交之前,一定要先拿到针对修改记录的全局锁后才允许提交,而在没有获得全局锁之前就必须一直等待。...这种设计以牺牲一定性能为代价,避免了在两个分布式事务中,数据被同一个本地事务改写的情况,从而避免了脏写。...读隔离也可以采用全局锁的方案来解决,但直接阻塞读取的话,我们要付出的代价就非常大了,一般并不会这样做。

    1.2K30

    我用kafka两年踩过的一些非比寻常的坑

    前言 我的上家公司是做餐饮系统的,每天中午和晚上用餐高峰期,系统的并发量不容小觑。为了保险起见,公司规定各部门都要在吃饭的时间轮流值班,防止出现线上问题时能够及时处理。...如此一来,思路就变得清晰了:只要保证生产者写消息时,按照一定的规则写到同一个partition,不同的消费者读不同的partition的消息,就能保证生产和消费者消息的顺序。...我们重新梳理了一下业务,没有必要知道订单的中间状态,只需知道一个最终状态就可以了。 如此甚好,我们就可以这样设计了: 订单系统发送的消息体只用包含:id和状态等关键信息。...但此时有个更严重的问题出现:我收到了报警邮件,有两个订单系统的节点down机了。 不久,订单组的同事过来找我说,我们系统调用他们订单查询接口的并发量突增,超过了预计的好几倍,导致有2个服务节点挂了。...我仔细检查了代码,发现代码逻辑会先根据主键从表中查询订单是否存在,如果存在则更新状态,不存在才插入数据,没得问题。 这种判断在并发量不大时,是有用的。

    1.2K20

    Java 8 开发的 4 大顶级技巧

    这在代码边界中(要么是正在使用的API,要么是正在暴露的API)特别有用,因为它允许你和你的调用代码来推理所期待的东西。...java 8 不应该简单调用get() Optional的功能是表达这个值可能是空的,并让你应对这种情况。因此,在对它做任何事情之前一定要检查是否有一个值。...同样的,当使用类似于Streams API的东西时,我们会传递lambda表达式,但更好的是创造一个需要lambda参数的方法。 但是,如果你发现自己处于这类情况下,下面有一些超棒的技巧。...java 8 这会导致… 使用现有的函数式接口 随着开发人员越来越熟悉Java 8代码,我们就能知道当使用如Supplier和 Consumer的接口时,会发生什么,以及创建一个本地的ErrorMessageCreator...Stream Stream API是Java 8另一个大特点,并且我认为我们还真的不知道这对我们的编码方式会产生多大的改变。下面是我发现的一些有用的东西 排队点操作符 我个人更喜欢排队我的流操作。

    71220

    普通学渣的春招,秋招历程以及实习心路

    版权声明:本文为博主原创文章,未经博主允许不得转载。...在寒假期间,自己会每天去牛客网上刷题。说到刷题,个人的感觉是应该先按专题刷,然后差不多刷完一遍以后,再去做相应公司的套卷,这样可能效果会好一些。还有剑指offer一定要好好过一遍!!! ?   ...但是似乎上天给我开了个玩笑,就在这时,我收到某厂的的面试电话,我是既惊又喜,甚至都不知道自己是什么时候投的简历。既来之,则安之,可能岗位也不是最符合自己意向的岗位吧。...不过在这期间我也在思考,是不是工作了天天就是做业务,感觉根本没有时间去学习东西。作为一个实习生,每天7.30起床,洗漱大概20分钟,出门。...也有很多同学说羡慕我,可以双向选择,但是对于我来说,这简直是一个煎熬,我的内心也是纠结的,也正因为这样,我可能每天都要耗费一定的精力做思想斗争。

    1.8K20

    《吊打面试官》系列-Redis哨兵、持久化、主从、手撕LRU

    作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚,在一个寂寞难耐的夜晚,我痛定思痛,决定开始写《吊打面试官...我可以打个比方么:我记得有过一个小伙伴微信问过我上下文切换是啥,为啥可能会线程不安全,我是这么说的,就好比你看一本英文书,你看到第十页发现有个单词不会读,你加了个书签,然后去查字典,过了一会你又回来继续从书签那里读...不知道到这里为止我有没有解释清楚,以及为啥会线程不安全,就是因为你一个人怎么看都没事,但是人多了换来换去的操作一本书数据就乱了。可能我的解释很粗糙,但是道理应该是一样的。...这样整个 Redis 就可以横向扩容了。如果你要支撑更大数据量的缓存,那就横向扩容更多的 master 节点,每个 master 节点就能存放更多的数据了。 哦?...我先说下为啥要用主从这样的架构模式,前面提到了单机QPS是有上限的,而且Redis的特性就是必须支撑读高并发的,那你一台机器又读又写,这谁顶得住啊,不当人啊!

    88021

    MacBook 和它的效率型同事们

    先说明一下:这不是一篇「你装了就能年薪翻倍」的文章,而是一份不装它们,我每天都会多浪费 1~2 小时的清单。...如果你也是程序员,用的是 Mac Book,那么大概率会经历这样一个阶段:刚拿到 Mac:“这系统好丝滑。”用了一个月:“怎么感觉效率没比以前高?”再过一阵子:“哦,原来是工具没配齐。”...Markdown 即写即预览 + 语法高亮准确 + 不抢你注意力 +写长文不累我通常用它来写技术博客初稿、整理系统设计思路或者是写一些“还不成熟,但不想忘”的想法它就像一个安静坐在你旁边、不会插话的搭档...适合的使用场景看技术书 PDF / EPUB做标注或者是当作“长期慢读工具”没有社交,没有推荐,没有“你今天读了几页”的压力。它更像一个安静的书架,你什么时候想读,它什么时候在那里。...系统自带便签:最轻量级的“第二大脑”这个工具看起来普通,但我每天都在用。我通常用便签干什么?临时想法待办事项快速复制用的命令正在 Debug 的问题线索它的优势只有一个:快。

    15300

    Java 8 开发顶级技巧

    这在代码边界中(要么是正在使用的API,要么是正在暴露的API)特别有用,因为它允许你和你的调用代码来推理所期待的东西。...不应该简单调用get() Optional的功能是表达这个值可能是空的,并让你应对这种情况。因此,在对它做任何事情之前一定要检查是否有一个值。...同样的,当使用类似于Streams API的东西时,我们会传递lambda表达式,但更好的是创造一个需要lambda参数的方法。 但是,如果你发现自己处于这类情况下,下面有一些超棒的技巧。...这会导致… 使用现有的函数式接口 随着开发人员越来越熟悉Java 8代码,我们就能知道当使用如Supplier和 Consumer的接口时,会发生什么,以及创建一个本地的ErrorMessageCreator...4.Stream Stream API是Java 8另一个大特点,并且我认为我们还真的不知道这对我们的编码方式会产生多大的改变。下面是我发现的一些有用的东西。

    72710
    领券