《解读基金——我的投资观与实践》

市场由贪婪和恐惧推动。

一、前言

2018年下半年,战战兢兢的从p2p理财市场中抽身而退,并不是察觉到了金融去杠杆前的山雨欲来风满楼,纯粹侥幸而已。19年初,由于一些不足道的财政压力以及对于理(jin)财(qian)的个人兴趣,决定学习一下关于基金的基础知识,毕竟我的风格是不打没有准备的帐,但是有了准备就一定会上。这个时候的我对于一些基本零风险的货币基金和定期已经开始不满足了,想要以一定的短期风险换取更大的收益。但是理财方面的学习只是工具,实践才是目的,今年的小目标是对于指数基金、混合基金甚至更刺激的股票基金的资产配置可以达到10%(甚至20%?)。一言蔽之:坐而论道,起而行之。

而且给自己定的大原则是,千万不要放太多精力,去拿长期受益,不要试图通过波段操作得到超额收益,没有这个瓷器钻。另外,心态平稳,老老实实的定投,最多了用均线回归定投。最后赚多赚少接受就好,毕竟基金这种东西个人眼光的好坏起的影响不大,还是要看市场、基金经理的因素。投资的大原则就是时间、风险、收益构成了蒙达尔三角,必须选择两个放弃第三个,我的选的就是最小的风险,不那么长的时长(5年?)以及稳健的收益(5%-10%的年化收益率)。做了季凯帆先生的《解读基金》一书第二章第五小节的测试我的得分是50分,推荐的理财产品是高风险债券,这个结果我还比较满意。。。

(另外是最近才知道的小知识,银行收益是上税的而基金收益不需要。)

Read More

Tensorflow学习笔记

一、反向传播算法

1.1 局部梯度计算

对于计算图,有多中表示方法,这里节点表示变量,边表示操作。在前向传播的时候,图的节点以拓扑排序的顺序进行计算。在计算梯度的时候,我们反向传播计算的梯度,为了执行反向传播算法,我们可以构造一个在原计算图 G 添加一组额外节点的新的计算图。这形成了一个新的子图 B ,其中每一个节点都是 G 的节点。B 的计算顺序与 G 中相反,而且每个节点计算导数$\frac{\partial u^{(n)}}{\partial u^{(i)}}$都与前向图中的节点$u^{(i)}$相关联。

反向计算的时候,每个节点要执行一次内积,内积的二者分别是局部梯度和传到该节点的已经计算好的误差信号。总而言之,计算量与 G 中的边成正比。所以,我们通过反向传播的策略避免了多次计算链式法则中的相同子表达式,避免了简单的操作却具有指数时间复杂度的后果。在具有 n 个节点的图中计算梯度,将永远不会执行超过$O(n^2)$个操作,或者存储超过$O(n^2)$个操作的输出。(这里我们是对计算图中的操作进行计数,而不是由底层执行的操作个数,所以重要的是要记住每个操作的运行时间可能是高度可变的。)

Read More

《Effective C++》第一部分:让自己习惯C++

C 是一种简单的语言。它真正提供的只有有宏、指针、结构、数组和函数。不管什么问题,C 都靠宏、指针、结构、数组和函数来解决。而 C++不是这样。

条款1:视 C++ 为一个语言联邦

提要

  1. C++ 高效编程守则视状况而变化,取决于你使用 C++ 的哪一个部分。

解释

C++ 非常复杂,我们可以将其看作是一个多重泛型编程语言,同时支持过程式、面向对象、函数式、泛型、以及元编程。因此我们最好将 C++ 看作是多个纯粹的次级语言的复合而非单一语言。次语言内部规则简单而明确,这有助于我们理解 C++。主要的次语言包括:

  • C。C 终究是 C++ 的基础,因此不可能不谈到 C,C++ 中的基本语法基于代码块、预处理器、内置数据类型、指针等等元素都来自与C。但是如果像使用 C 一样的使用 C++ ,就会暴露出 C 自身的一些局限性,比如没有模板、没有异常、没有重载。
  • Object-Oriented C++。是 C++ 主要对 C 的升级部分,是面向对象原则在 C++ 上的最直接实施。
  • Template C++。他带来了全新的编程泛型,也就是所谓的template metaprogramming(TMP,模板元编程)。TMP规则很少与 C++ 主流变成相互影响。【$$$\Rightarrow Item48$$$】
  • STL。主要涉及对容器、迭代器、算法以及函数对象的规约。

Read More

《C++Primer》第十七章:标准库特殊设施

  1. 类似于pair,使用make_tuple创建一个tuple,或者使用tuple<T1,T2,...,Tn>显式创建tuple类型。使用get<i>(t)获取t的第i个元素。如果希望知道tuple的元素个数或者某个元素的类型,我们先要知道tuple的类型,使用using mytuplename = decltype(t)创建类型别名,然后size_t sz = tuple_size<decltype(t)>::value;获取大小,tuple_element<2, decltype(t)>::type获取类型。
  2. tuple类型需要元素个数一样时,且每对成员均可以比较时才可以比较。
  3. tuple最常见的用途是从一个函数中返回多个值。
  4. bitset类型定义在头文件bitset中。好使的地方是可以通过索引访问指定位。可以通过一个整型来初始化bitset,该整形被转换为ULL类型处理,可以直接用16进制字面量初始化。也可以用一个只含01的字符串初始化。
本站总访问量