朝闻道家庭基金201807月报

A股方面,受贸易战等影响,大盘在上半月继续轮番下跌,我把基金的所有闲置资金都加仓了红利指数基金,而且清仓了债性基金,算是一种抄底吧。红利指数的股息率已经高于国债利率,是不是底不知道,反正风险越来越小了。下半月大盘稍有回暖,抄底的红利指数也浮盈了6~7个点。

区块链投资方面,本月比特币有一波幅度不小的上涨。去年计提损失的一笔区块链投资本月本息一起收回了。清理了小额的币种,只剩下4个币种。

受益于收回的比特币资产,综合来看,净值环比上涨约16%,报收2.6134,回到了去年年底今年年初的水平。如果去掉回收资产的因素,净值相比上月只是略有上涨。

附:2018年净值增长表

时间 净值 沪深300(比率)
20160101 1.0000 3470.41 (1.0000)
20161231 1.2526 3297.76 (0.9503)
20171231 2.5537 4030.85 (1.2223)
20180131 2.7058 4275.90 (1.2966)
20180228 2.5329 4023.64 (1.1594)
20180331 2.2861 3989.50 (1.1234)
20180430 2.3216 3756.88 (1.0825)
20180601 2.3515 3770.59 (1.0865)
20180701 2.2551 3510.98 (1.0117)
20180731 2.6134 3517.66 (1.0136)

期末持仓品种:

  1. A股主要持仓19支股票,相比上月无变化,开仓了红利ETF:
    1. 家用电器:格力电器、美的集团
    2. 食品饮料:贵州茅台、伊利股份、涪陵榨菜、汤臣倍健
    3. 房地产:万科A、华夏幸福
    4. 银行:建设银行、招商银行
    5. 非银金融:中国平安、安信信托
    6. 汽车:福耀玻璃
    7. 计算机:分众传媒、海康威视
    8. 建筑装饰:中国建筑
    9. 休闲服务:中国国旅
    10. 医药生物:恒瑞医药、信立泰
    11. 其他:红利ETF
  2. 基金:广发中证养老产业指数A、富国中证红利指数增强(加仓)、华夏中证500ETF联接、兴全可转债混合。
  3. 区块链资产:BTC、BCH、ETH、EOS。

朝闻道家庭基金201806月报

A股方面,受贸易战等影响,大盘持续下跌,沪深300指数回到了我成立基金之初的水平,在这种恐慌的时刻,不知底在何处,然而我觉得可能是难得的好机会,可惜最近花销大,没有钱加仓了,只能满仓倒地装死。

区块链投资方面,比特币价格阴跌,其他币种更是跌得厉害,以十年尺度计的投机品,这也不算什么,有同事问我为啥十二万一个的时候不卖,这个问题可能就是投资入门的分野吧。

综合来看,净值环比下降了约4%,报收2.2551。比起大盘来,不算是很惨,只是上半年过去了,投资收益为-11.7%,考验屁股功的时候到了,毕竟,在消息面的反复折磨下,人们开始割割割,只有割无可割的时候,才是所谓反转的时候。在这种股市臭不可闻的时候,正是播种的好时节啊。

附:2018年净值增长表

时间 净值 沪深300(比率)
20160101 1.0000 3470.41 (1.0000)
20161231 1.2526 3297.76 (0.9503)
20171231 2.5537 4030.85 (1.2223)
20180131 2.7058 4275.90 (1.2966)
20180228 2.5329 4023.64 (1.1594)
20180331 2.2861 3989.50 (1.1234)
20180430 2.3216 3756.88 (1.0825)
20180601 2.3515 3770.59 (1.0865)
20180701 2.2551 3510.98 (1.0117)

期末持仓品种:

  1. A股主要持仓19支股票,相比上月无变化:
    1. 家用电器:格力电器、美的集团
    2. 食品饮料:贵州茅台、伊利股份、涪陵榨菜、汤臣倍健
    3. 房地产:万科A、华夏幸福
    4. 银行:建设银行、招商银行
    5. 非银金融:中国平安、安信信托
    6. 汽车:福耀玻璃
    7. 计算机:分众传媒、海康威视
    8. 建筑装饰:中国建筑
    9. 休闲服务:中国国旅
    10. 医药生物:恒瑞医药、信立泰
  2. 基金:广发中证养老产业指数A、富国中证红利指数增强、广发中债7-10年期国开行债券指数、华夏中证500ETF联接兴全可转债混合
  3. 区块链资产:BTC、BCH、ETH、EOS、DASH、LTC、PRS等。

朝闻道家庭基金201805月报

没有时间做长篇分析。

A股方面,MCSI指标正式纳入,各种蓝筹股在月底终于涨了一点点,感觉最后投资还是赌国运。本月加仓了一点点基金和格力电器。

区块链投资方面,上个月预测的大幅度回调果然还是出现了。

综合来看,受益于蓝筹股上涨,净值环比上升了约1%,报收2.3515,基本上两大类资产再次对冲了,算是延续了上个月的回暖趋势。

拍拍贷散标已经基本出清,精力有限,以后不再投资网贷产品了。

附:2018年净值增长表

时间 净值 沪深300(比率)
20160101 1.0000 3470.41 (1.0000)
20161231 1.2526 3297.76 (0.9503)
20171231 2.5537 4030.85 (1.2223)
20180131 2.7058 4275.90 (1.2966)
20180228 2.5329 4023.64 (1.1594)
20180331 2.2861 3989.50 (1.1234)
20180430 2.3216 3756.88 (1.0825)
20180601 2.3515 3770.59 (1.0865)

期末持仓品种:

  1. A股主要持仓19支股票,相比上月无变化:
    1. 家用电器:格力电器、美的集团
    2. 食品饮料:贵州茅台、伊利股份、涪陵榨菜、汤臣倍健
    3. 房地产:万科A、华夏幸福
    4. 银行:建设银行、招商银行
    5. 非银金融:中国平安、安信信托
    6. 汽车:福耀玻璃
    7. 计算机:分众传媒、海康威视
    8. 建筑装饰:中国建筑
    9. 休闲服务:中国国旅
    10. 医药生物:恒瑞医药、信立泰
  2. 基金:广发中证养老产业指数A、富国中证红利指数增强、广发中债7-10年期国开行债券指数、华夏中证500ETF联接兴全可转债混合
  3. 区块链资产:BTC、BCH、ETH、EOS、DASH、LTC、PRS等。

朝闻道家庭基金201804月报

本月各公司年报与一季报陆续出炉,蓝筹股出现各种闪崩剧情,理由各有不同。格力电器,业绩爆表,但是年报称不分红;华夏幸福,谣言称资金链断裂;分众传媒,面临新潮传媒竞争。这三只股票剧烈下跌时我都加仓了,因为觉得买入逻辑没有发生变化,那么加仓就是唯一的选择了。我觉得这些股票下跌除了以上表面原因,还因为去年至今上涨不少,有了很多的获利盘,它们开始“止赢”了,不排除有人确实找到了更好的标的,但我认为绝大部分的止盈是不合适的,无非是跳来跳去,又要认知新的股票,一个人的能力是有限的,又能看懂多少呢?最后只不过是贡献了交易手续费。像格力这种股票,基本面还没有变化,市盈率已经很低,实在不能因为过去浮盈了就卖出。这时候,所谓的价值投资者应该是最贪婪的。

区块链投资方面,几乎所有币种都回暖,尤其是EOS,马上要正式上线主链,似乎吸收了很多热钱的炒作。我预测下个月可能会有一次大幅度的回调,但是长期来看,还是值得期待的,所以策略仍然是一动不动。

综合来看,受益于区块链资产回暖,净值环比上升了约1.6%,报收2.3216,基本上两大类资产对冲了。艰难的止住了一季度的持续下跌,但愿下个月扭转趋势吧,不过我已经基本满仓了,啥也干不了只能慢慢等风来了。这或许才是投资最考验人的地方吧。

附:2018年净值增长表

时间 净值 沪深300(比率)
20160101 1.0000 3470.41 (1.0000)
20161231 1.2526 3297.76 (0.9503)
20171231 2.5537 4030.85 (1.2223)
20180131 2.7058 4275.90 (1.2966)
20180228 2.5329 4023.64 (1.1594)
20180331 2.2861 3989.50 (1.1234)
20180430 2.3216 3756.88 (1.0825)

期末持仓品种:

  1. A股主要持仓19支股票:
    1. 家用电器:格力电器、美的集团
    2. 食品饮料:贵州茅台、伊利股份、涪陵榨菜、汤臣倍健
    3. 房地产:万科A、华夏幸福
    4. 银行:建设银行、招商银行
    5. 非银金融:中国平安、安信信托
    6. 汽车:福耀玻璃
    7. 计算机:分众传媒、海康威视
    8. 建筑装饰:中国建筑
    9. 休闲服务:中国国旅
    10. 医药生物:恒瑞医药、信立泰
  2. 基金:广发中证养老产业指数A、富国中证红利指数增强、广发中债7-10年期国开行债券指数。
  3. 区块链资产:BTC、BCH、ETH、EOS、DASH、LTC、PRS等。
  4. 其他:少量拍拍贷散标。

朝闻道家庭基金201803月报

受中美贸易战等利空消息影响,A股投资方面,本月再次经历了一波小型股灾,从上个月小型股灾中恢复的净值再次跌落,重仓的格力电器、贵州茅台等都大幅下跌。今年可能是对我投资考验最大的一年,好运不可能一直有。想要完美躲掉下跌是不能的,要不然不出十年就成首富了吧,在下跌的日子里,只能检查持仓,清掉那些没有深入理解的公司,超配一点认为在下跌后很便宜的股票,通过调仓,持股更加集中。

区块链投资方面,几乎所有币种都继续阴跌,看来漫漫熊市将持续很久,多打压一下投机热潮,发现区块链真正的价值,这未尝不是一件好事,只是对我来说,这成为本月净值下降的主要原因。

综合来看,净值环比下降了约10%,报收2.2861,可谓损失惨重。看来今年要取得正收益都可能有困难了。

附:2018年净值增长表

时间 净值 沪深300(比率)
20160101 1.0000 3470.41 (1.0000)
20161231 1.2526 3297.76 (0.9503)
20171231 2.5537 4030.85 (1.2223)
20180228 2.5329 4023.64 (1.1594)
20180131 2.7058 4275.90 (1.2966)
20180228 2.5329 4023.64 (1.1594)
20180331 2.2861 3989.50 (1.1234)

期末持仓品种:

  1. A股主要持仓19支股票:
    1. 家用电器:格力电器、美的集团
    2. 食品饮料:贵州茅台、伊利股份、涪陵榨菜、汤臣倍健
    3. 房地产:万科A、华夏幸福
    4. 银行:建设银行、招商银行
    5. 非银金融:中国平安、安信信托
    6. 汽车:福耀玻璃
    7. 计算机:分众传媒、海康威视
    8. 建筑装饰:中国建筑
    9. 休闲服务:中国国旅
    10. 医药生物:恒瑞医药、信立泰
  2. 基金:广发中证养老产业指数A、富国中证红利指数增强、广发中债7-10年期国开行债券指数。
  3. 区块链资产:BTC、BCH、ETH、EOS等。
  4. 其他:少量拍拍贷散标。

朝闻道家庭基金201802月报

A股投资方面,本月经历了一波小型股灾,由美股暴跌触发,以上证50为代表的蓝筹股暴跌了一轮,我相当于满仓吃了一个跌停。事后回想,这种波动时躲避不掉的,过年前一两天开始回升,目前还是个不明去向的感觉。

前期出清老板电器调为格力电器,没想到这两天老板出业绩年报,增长20%但不及市场预期,直接跳水跌停了,虽然我侥幸躲过了,但是市盈率高的股票真是危险,如果增长不及预期,杀起估值来太可怕了,所以市盈率越高应该买得越谨慎。本轮股灾过后,本应当仔细检查一遍持仓,但最近确实没时间,只是在年前粗略看了看,问题应该不大,但愿如此吧,后续有空要再仔细检查一遍。

区块链投资方面,比特币在1月的疯狂下跌后,由最低6000美金恢复至1万美金左右,继续长期持有。

综合来看,净值环比下降了约6%,报收2.5329,回到了2017年底水平线。

附:2018年净值增长表

时间 净值 沪深300(比率)
20160101 1.0000 3470.41 (1.0000)
20161231 1.2526 3297.76 (0.9503)
20171231 2.5537 4030.85 (1.2223)
20180131 2.7058 4275.90 (1.2966)
20180228 2.5329 4023.64 (1.1594)

期末持仓品种:

  1. A股主要持仓25支股票,其他包括本月中的新股江苏租赁,场内货币基金等。
    1. 家用电器:格力电器、美的集团
    2. 食品饮料:贵州茅台、伊利股份、涪陵榨菜、汤臣倍健
    3. 房地产:万科A、华夏幸福
    4. 银行:平安银行、建设银行、民生银行、招商银行
    5. 非银金融:中国平安、安信信托
    6. 汽车:福耀玻璃
    7. 计算机:分众传媒、海康威视
    8. 建筑装饰:中国建筑
    9. 休闲服务:中国国旅
    10. 纺织服装:歌力思
    11. 医药生物:恒瑞医药
    12. 商业贸易:永辉超市
    13. 纺织服装:歌力思
    14. 化工:利尔化学
    15. 建筑材料:海螺水泥
  2. 基金:广发中证养老产业指数A、富国中证红利指数增强、广发中债7-10年期国开行债券指数。
  3. 区块链资产:BTC、BCH、ETH、EOS等。
  4. 其他:少量拍拍贷散标。

二分类问题的评分值与损失函数

二分类问题是监督学习中最基本的问题之一,本文旨在从评分值、损失函数的角度,对解决二分类问题的诸多机器学习算法做一个梳理。相关算法的详细介绍可以参考相关教材12

loss

  1. 统计学习方法 李航 

  2. 机器学习 周志华 

本来无一物

img

题图是中国当代艺术家宋冬推出的“物尽其用”装置艺术展的一角,宋冬的母亲一辈子舍不得扔东西,将所有物品囤积起来,包括这些牙膏皮。

朝闻道家庭基金201801月报

A股投资方面,本来准备在过年前再完成建仓,但是仔细想了一下,这是没有必要的等待,因此月初建仓了中国平安、安信信托与招商银行,补仓了中国建筑、华夏幸福。现在处于基本满仓状态,可以不用关心每日的股价涨跌了。配置的思路首先是行业均衡,然后在行业中找龙头。目前主要还缺医药行业的配置,医药实在太过复杂,可能后续会配置ETF。1月份的行情对蓝筹股来说,可以算是开门红,年前布局的银行、地产都在价值回归。

区块链投资方面,试验性建仓了ETH、EOS等智能合约概念资产,不过区块链市场相比2017年的高点整体下挫3~4成,泡沫很大,多跌跌也好。

拍拍贷散标正在退出,现在觉得这种投资有道德风险,而且收益也不见得高了。

虽然比特币大跌拖累了净值,综合来看,净值仍然环比增长了约6%,报收2.7058。

附:2018年净值增长表

时间 净值 沪深300(比率)
20160101 1.0000 3470.41 (1.0000)
20161231 1.2526 3297.76 (0.9503)
20171231 2.5537 4030.85 (1.2223)
20180131 2.7058 4275.90 (1.2966)

期末持仓品种:

  1. A股主要持仓25支股票,其他包括参与打新而持有的可转债,场内货币基金或国债逆回购。
    1. 家用电器:格力电器、美的集团
    2. 食品饮料:贵州茅台、伊利股份、涪陵榨菜、汤臣倍健
    3. 房地产:万科A、华夏幸福
    4. 银行:平安银行、建设银行、民生银行、招商银行
    5. 非银金融:中国平安、安信信托
    6. 汽车:福耀玻璃
    7. 计算机:分众传媒、海康威视
    8. 建筑装饰:中国建筑
    9. 休闲服务:中国国旅
    10. 纺织服装:歌力思
    11. 医药生物:恒瑞医药
    12. 商业贸易:永辉超市
    13. 纺织服装:歌力思
    14. 化工:利尔化学
    15. 建筑材料:海螺水泥
  2. 基金:广发中证养老产业指数A、富国中证红利指数增强、广发中债7-10年期国开行债券指数。
  3. 区块链资产:BTC、BCH、ETH、EOS等。
  4. 其他:少量拍拍贷散标。

基于RNN实现加法

知乎上有人问题了个有趣的问题:

深度学习能够学会加法吗?

撇开所谓的哲学意义不谈,已经证明了通过RNN可以模拟实现图灵机,这篇神奇的论文看这里。我的大致理解是,图灵机也是一种模式匹配,而只要有足够多的学习样本,RNN总是可以学会这种模式匹配的。

假设我们要让神经网络学会3位数的加法,比如111+222=333,123+987=110,注意为了简单期间,我们不考虑最高位的进位。

加法可视为两个加数构造的序列来预测作为和的序列,因此可以用RNN来实现。示意图如下:输入序列、输出序列长度均为3,使用一层RNN存储进位信息。输入输出均使用one-hot编码后,输入特征数为20,输出特征数为10,中间层使用RNN,其隐藏节点数设为32。

addtion-by-rnn-1

使用keras搭了一下模型,图示如下:

addtion-by-rnn-2

代码如下:

注意为了画上述示意图,需要安装Graphviz

# -*- coding: utf-8 -*-

from keras.models import Sequential
from keras.utils import plot_model
from keras import layers
import numpy as np

import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

class CharacterTable(object):
    """
    one-hot encode/decode
    """
    def __init__(self, chars):
        self.chars = sorted(set(chars))
        self.char_indices = dict((c, i) for i, c in enumerate(self.chars))
        self.indices_char = dict((i, c) for i, c in enumerate(self.chars))

    def encode(self, C, num_rows):
        x = np.zeros((num_rows, len(self.chars)))
        for i, c in enumerate(C):
            x[i, self.char_indices[c]] = 1
        return x

    def decode(self, x, calc_argmax=True):
        if calc_argmax:
            x = x.argmax(axis=-1)
        return ''.join(self.indices_char[x] for x in x)

TRAINING_SIZE = 50000
DIGITS = 3

chars = '0123456789'
ctable = CharacterTable(chars)

questions = []
expected = []
seen = set()
print('Generating data...')
while len(questions) < TRAINING_SIZE:
    a = ''.join(np.random.choice(list('0123456789')) for i in range(DIGITS))
    b = ''.join(np.random.choice(list('0123456789')) for i in range(DIGITS))
    key = tuple(sorted((a, b)))
    if key in seen:
        continue
    seen.add(key)

    ans = str((int(a[::-1]) + int(b[::-1]))%1000).zfill(DIGITS)[::-1]
    
    questions.append((a,b))
    expected.append(ans)
print('Total addition questions:', len(questions))

print('Vectorization...')
x = np.zeros((len(questions), DIGITS, len(chars)*2), dtype=np.bool)
y = np.zeros((len(questions), DIGITS, len(chars)), dtype=np.bool)
for i, (a, b) in enumerate(questions):
    x[i] = np.column_stack((ctable.encode(a, DIGITS), ctable.encode(b, DIGITS)))
for i, ans in enumerate(expected):
    y[i] = ctable.encode(ans, DIGITS)
    
print('Split data...')
indices = np.arange(len(y))
np.random.shuffle(indices)
x = x[indices]
y = y[indices]

split_at = len(x) - len(x) // 10
(x_train, x_val) = x[:split_at], x[split_at:]
(y_train, y_val) = y[:split_at], y[split_at:]

print('Training Data:')
print(x_train.shape)
print(y_train.shape)

print('Validation Data:')
print(x_val.shape)
print(y_val.shape)

HIDDEN_SIZE = 32
BATCH_SIZE = 128

print('Build model...')
model = Sequential()

model.add(layers.SimpleRNN(HIDDEN_SIZE, input_shape=(DIGITS, len(chars)*2), return_sequences=True))
model.add(layers.TimeDistributed(layers.Dense(len(chars))))
model.add(layers.Activation('softmax'))
model.compile(loss='categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

print('Plot model...')
model.summary()
plot_model(model, to_file='model.png')

print('Training...')
ITER = 20
for iteration in range(ITER):
    print()
    print('-' * 50)
    print('Iteration', iteration)
    model.fit(x_train, y_train,
              batch_size=BATCH_SIZE,
              epochs=1,
              validation_data=(x_val, y_val))
    print("10 validate examples:")
    for i in range(10):
        ind = np.random.randint(0, len(x_val))
        rowx, rowy = x_val[np.array([ind])], y_val[np.array([ind])]
        preds = model.predict_classes(rowx, verbose=0)
        question = ctable.decode(rowx[0][:,:10]) + '+' + ctable.decode(rowx[0][:,10:])
        correct = ctable.decode(rowy[0])
        guess = ctable.decode(preds[0], calc_argmax=False)
        print('Q', question[::-1], end=' ')
        print('A', correct[::-1], end=' ')
        print('√' if correct == guess else '×', end=' ')
        print(guess[::-1])

能在较短时间内训练到100%的准确率。毕竟,这个模式识别起来不太复杂。

至于如何让机器理解什么是加法,这就是另外一个问题了,毕竟我们也难以理解人类是如何学会理解加法的,甚至人类是否理解加法都不知道。