【手把手教你】量价关系分析与Python实现
如果操作过量,即使对市场判断正确,仍会一败涂地。——索罗斯
引言
成交量是股票市场的温度计,许多股票的疯狂上涨并非基本面发生了实质性的变化,而是短期筹码和资金供求关系造成的。量价关系分析法是一种将价格走势与成交量变化相结合的研究方法,正所谓,大军未动,粮草先行。成交量一直被看为是股票市场的“粮草”,成交量的变化是股价变化的前兆。因此,成交量是分析判断市场行情,并作出投资决策时的重要依据,也是各种技术分析指标应用时不可或缺的参照。
本文延续“手把手教你使用Python的TA-Lib”系列,着重介绍交易量指标(Volume Indicators)及其运用。【手把手教你】股市技术分析利器之TA-Lib(一)主要探讨了重叠指标的相关原理与Python实现,【手把手教你】股市技术分析利器之TA-Lib(二)则着重介绍了TA-Lib中强大的数学运算、数学变换、统计函数、价格变换、周期指标和波动率指标函数及其应用实例。TA-Lib的安装使用可查看以前推文。
01
A/D Line 累积派发线
Chaikin Accumulation/Distribution Line (AD),是Marc Chaikin提出的用来平衡交易量的指标,以当日收盘价、最高价和最低价来估算一段时间内该股票累积的资金流量, 用来确定潜在的趋势以及预测趋势反转。
函数名:AD
调用格式:ta.AD(high,low,close,volume)
计算方法: AD=前日AD值+(多空对比*成交量)
多空对比=((收盘价-最低价)-(最高价-收盘价))/(最高价-最低价);注意:当最高价等于最低价时,多空对比 = (收盘价 / 昨收盘) - 1
运用要点:
AD测量资金流向,AD向上表明多方占优势,反之表明空方占优势;
AD与价格的背离可视为买卖信号:底背离考虑买入,顶背离考虑卖出;
AD指标无需设置参数,但在应用时,可结合均线、MACD、KDJ等指标进行分析;
AD指标忽略了缺口的影响,有时无法真实反映价格与成交量的关系。
02
A/D Oscillator 震荡指标
震荡指标是计算长短周期的AD差,将资金流动情况与价格行为相对比,用来研判市场中资金流入和流出的情况。
函数名:ADOSC
调用格式:ta. ADOSC(high,low,close,volume,
fastperiod=3,slowperiod=10)
计算方法:fastperiod AD - slowperiod AD,AD的计算同上。
运用要点:
交易信号是背离:看涨背离做多,看跌背离做空;
股价与90天移动平均结合,与其他指标结合;
由正变负卖出,由负变正买进。
03
OBV - 能量潮
全称为 On Balance Volume, 由 Joe Granville 提出,通过统计成交量变动的趋势推测股价趋势。
函数名:OBV
调用格式:ta.OBV(close, volume)
计算公式:以某日为基期,逐日累计每日股票总成交量,若隔日指数或股票上涨,则基期OBV加上本日成交量为本日OBV。隔日指数或股票下跌, 则基期OBV减去本日成交量为本日OBV。
研判:
以“N”字型为波动单位,一浪高于一浪称“上升潮”,下跌称“跌潮”;
上升潮买进,跌潮卖出;
须配合K线图、股价走势和其他指标。
04
应用实例代码
#先引入后面可能用到的包(package)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
#引入TA-Lib库
import talib as ta
#获取交易数据函数,这里使用tushare的老接口,比较方便
import tushare as ts
def get_data(code,start='2018-11-01',end='2019-03-26'):
df=ts.get_k_data(code,start,end)
df.index=pd.to_datetime(df.date)
df=df.sort_index()
return df[['open','close','high','low','volume']]
#获取当前交易是所有股票代码和名字
basics=ts.get_stock_basics()
print(len(basics))
#basics.head()
3602
index={'上证综指': 'sh','深证成指': 'sz','沪深300': 'hs300',
'创业板指': 'cyb', '上证50': 'sz50','中小板指': 'zxb'}
#将当前交易的股票和常用指数代码和名称写入字典,方便调用
stock=dict(zip(basics.name,basics.index))
stocks=dict(stock,**index)
计算交易量指标并可视化
#使用matplotlib画k线图以及
import matplotlib.patches as patches
def plot_line(name):
code=stocks[name]
data=get_data(code)
fig = plt.figure(figsize=(12,5))
ax1 = fig.add_axes([0, 1, 1, 1])
ax1.set_title(name+"K线图与交易量指标", fontsize=15)
ax1.set_xlim(-1, len(data)+1)
for i in range(len(data)):
close_price,open_price = data.iloc[i, 1], data.iloc[i, 0]
high_price, low_price = data.iloc[i,2], data.iloc[i, 3]
trade_date = data.index[i]
if close_price > open_price:#画阳线
ax1.add_patch(patches.Rectangle((i-0.2, open_price), 0.4, close_price-open_price, fill=False, color='r'))
ax1.plot([i, i], [low_price, open_price], 'r')
ax1.plot([i, i], [close_price, high_price], 'r')
else:#画阴线
ax1.add_patch(patches.Rectangle((i-0.2, open_price), 0.4, close_price-open_price, color='g'))
ax1.plot([i, i], [low_price, high_price], color='g')
ax1.set_title("Price", fontsize=15, loc='left', color='r')
#设置x轴标签
ax1.set_xticks(range(0,len(data),5))#位置
ax1.set_xticklabels([(data.index[i]).strftime('%Y-%m-%d') for i in ax1.get_xticks()] , rotation=20)
high, low, close, volume = np.array(data['high']),np.array(data['low']),np.array(data['close']),np.array(data['volume'])
#计算AD线
AD = ta.AD(high, low, close, volume)
#计算ADOSC线
ADOSC = ta.ADOSC(high,low, close, volume, fastperiod=3, slowperiod=10)
#计算OBC线
OBV = ta.OBV(close, volume)
ax2 = ax1.twinx()
ax2.plot(AD, color='r', linewidth=2, label='AD')
ax2.plot(ADOSC, color='b', linewidth=2, label='ADOSC')
ax2.plot(OBV, color='y', linewidth=2, label='OBV')
ax2.legend(loc=0)
plot_line('东方通信')plot_line('上证综指')plot_line('创业板指')plot_line('中国平安')最后,在万矿上使用AD线进行了历史回测,作为演示例子,这里只对东方通信和中国平安股票进行了回测,期间为2018年1月1日至2019年3月25日。从AD线单一指标回测来看,在市场反弹或形成向上趋势时跑赢市场,但是最大回撤也比较大,如东方通信达到43.2%,当然这与回测期间和标的选择有很大的关系。这里只是作为演示例子,深入研究还得待结合其他指标。
东方通信AD线回测结果:
中国平安AD线回测结果:
结语
价量分析系统属于技术分析,而技术分析是股票分析的温度计。温度计无法预测未来的准确温度,更不可能决定温度。因此,技术分析只是告诉你发生了什么,但不能预测未来会发生什么。不要过于依赖技术指标提供的信号,市场总是充满突发性的事件,交易者情绪波动较大,因此股价并不是总是沿着规律运行。在使用量价关系时,不仅要分析量价关系中量的变化对价的影响,还应该分析量变化的原因,更应该知道这些变化之后交易者的情绪或行为,只有这样才能真正体会量价关系的精髓,提高自己预判的准确率。 收起阅读 »
引言
成交量是股票市场的温度计,许多股票的疯狂上涨并非基本面发生了实质性的变化,而是短期筹码和资金供求关系造成的。量价关系分析法是一种将价格走势与成交量变化相结合的研究方法,正所谓,大军未动,粮草先行。成交量一直被看为是股票市场的“粮草”,成交量的变化是股价变化的前兆。因此,成交量是分析判断市场行情,并作出投资决策时的重要依据,也是各种技术分析指标应用时不可或缺的参照。
本文延续“手把手教你使用Python的TA-Lib”系列,着重介绍交易量指标(Volume Indicators)及其运用。【手把手教你】股市技术分析利器之TA-Lib(一)主要探讨了重叠指标的相关原理与Python实现,【手把手教你】股市技术分析利器之TA-Lib(二)则着重介绍了TA-Lib中强大的数学运算、数学变换、统计函数、价格变换、周期指标和波动率指标函数及其应用实例。TA-Lib的安装使用可查看以前推文。
01
A/D Line 累积派发线
Chaikin Accumulation/Distribution Line (AD),是Marc Chaikin提出的用来平衡交易量的指标,以当日收盘价、最高价和最低价来估算一段时间内该股票累积的资金流量, 用来确定潜在的趋势以及预测趋势反转。
函数名:AD
调用格式:ta.AD(high,low,close,volume)
计算方法: AD=前日AD值+(多空对比*成交量)
多空对比=((收盘价-最低价)-(最高价-收盘价))/(最高价-最低价);注意:当最高价等于最低价时,多空对比 = (收盘价 / 昨收盘) - 1
运用要点:
AD测量资金流向,AD向上表明多方占优势,反之表明空方占优势;
AD与价格的背离可视为买卖信号:底背离考虑买入,顶背离考虑卖出;
AD指标无需设置参数,但在应用时,可结合均线、MACD、KDJ等指标进行分析;
AD指标忽略了缺口的影响,有时无法真实反映价格与成交量的关系。
02
A/D Oscillator 震荡指标
震荡指标是计算长短周期的AD差,将资金流动情况与价格行为相对比,用来研判市场中资金流入和流出的情况。
函数名:ADOSC
调用格式:ta. ADOSC(high,low,close,volume,
fastperiod=3,slowperiod=10)
计算方法:fastperiod AD - slowperiod AD,AD的计算同上。
运用要点:
交易信号是背离:看涨背离做多,看跌背离做空;
股价与90天移动平均结合,与其他指标结合;
由正变负卖出,由负变正买进。
03
OBV - 能量潮
全称为 On Balance Volume, 由 Joe Granville 提出,通过统计成交量变动的趋势推测股价趋势。
函数名:OBV
调用格式:ta.OBV(close, volume)
计算公式:以某日为基期,逐日累计每日股票总成交量,若隔日指数或股票上涨,则基期OBV加上本日成交量为本日OBV。隔日指数或股票下跌, 则基期OBV减去本日成交量为本日OBV。
研判:
以“N”字型为波动单位,一浪高于一浪称“上升潮”,下跌称“跌潮”;
上升潮买进,跌潮卖出;
须配合K线图、股价走势和其他指标。
04
应用实例代码
#先引入后面可能用到的包(package)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
#引入TA-Lib库
import talib as ta
#获取交易数据函数,这里使用tushare的老接口,比较方便
import tushare as ts
def get_data(code,start='2018-11-01',end='2019-03-26'):
df=ts.get_k_data(code,start,end)
df.index=pd.to_datetime(df.date)
df=df.sort_index()
return df[['open','close','high','low','volume']]
#获取当前交易是所有股票代码和名字
basics=ts.get_stock_basics()
print(len(basics))
#basics.head()
3602
index={'上证综指': 'sh','深证成指': 'sz','沪深300': 'hs300',
'创业板指': 'cyb', '上证50': 'sz50','中小板指': 'zxb'}
#将当前交易的股票和常用指数代码和名称写入字典,方便调用
stock=dict(zip(basics.name,basics.index))
stocks=dict(stock,**index)
计算交易量指标并可视化
#使用matplotlib画k线图以及
import matplotlib.patches as patches
def plot_line(name):
code=stocks[name]
data=get_data(code)
fig = plt.figure(figsize=(12,5))
ax1 = fig.add_axes([0, 1, 1, 1])
ax1.set_title(name+"K线图与交易量指标", fontsize=15)
ax1.set_xlim(-1, len(data)+1)
for i in range(len(data)):
close_price,open_price = data.iloc[i, 1], data.iloc[i, 0]
high_price, low_price = data.iloc[i,2], data.iloc[i, 3]
trade_date = data.index[i]
if close_price > open_price:#画阳线
ax1.add_patch(patches.Rectangle((i-0.2, open_price), 0.4, close_price-open_price, fill=False, color='r'))
ax1.plot([i, i], [low_price, open_price], 'r')
ax1.plot([i, i], [close_price, high_price], 'r')
else:#画阴线
ax1.add_patch(patches.Rectangle((i-0.2, open_price), 0.4, close_price-open_price, color='g'))
ax1.plot([i, i], [low_price, high_price], color='g')
ax1.set_title("Price", fontsize=15, loc='left', color='r')
#设置x轴标签
ax1.set_xticks(range(0,len(data),5))#位置
ax1.set_xticklabels([(data.index[i]).strftime('%Y-%m-%d') for i in ax1.get_xticks()] , rotation=20)
high, low, close, volume = np.array(data['high']),np.array(data['low']),np.array(data['close']),np.array(data['volume'])
#计算AD线
AD = ta.AD(high, low, close, volume)
#计算ADOSC线
ADOSC = ta.ADOSC(high,low, close, volume, fastperiod=3, slowperiod=10)
#计算OBC线
OBV = ta.OBV(close, volume)
ax2 = ax1.twinx()
ax2.plot(AD, color='r', linewidth=2, label='AD')
ax2.plot(ADOSC, color='b', linewidth=2, label='ADOSC')
ax2.plot(OBV, color='y', linewidth=2, label='OBV')
ax2.legend(loc=0)
plot_line('东方通信')plot_line('上证综指')plot_line('创业板指')plot_line('中国平安')最后,在万矿上使用AD线进行了历史回测,作为演示例子,这里只对东方通信和中国平安股票进行了回测,期间为2018年1月1日至2019年3月25日。从AD线单一指标回测来看,在市场反弹或形成向上趋势时跑赢市场,但是最大回撤也比较大,如东方通信达到43.2%,当然这与回测期间和标的选择有很大的关系。这里只是作为演示例子,深入研究还得待结合其他指标。
东方通信AD线回测结果:
中国平安AD线回测结果:
结语
价量分析系统属于技术分析,而技术分析是股票分析的温度计。温度计无法预测未来的准确温度,更不可能决定温度。因此,技术分析只是告诉你发生了什么,但不能预测未来会发生什么。不要过于依赖技术指标提供的信号,市场总是充满突发性的事件,交易者情绪波动较大,因此股价并不是总是沿着规律运行。在使用量价关系时,不仅要分析量价关系中量的变化对价的影响,还应该分析量变化的原因,更应该知道这些变化之后交易者的情绪或行为,只有这样才能真正体会量价关系的精髓,提高自己预判的准确率。 收起阅读 »
postman使用_analyze端点 ElasticSearch
POSTMAN
ES 6.x如何使用_analyze端点
因为使用curl编辑查询语句很不方便。平时用postman最多,故平时查询ES经常使用postman查询。
_analyze端点是用于查询分析器的分析效果。
文档中使用如下方法查询
curl -XPOST 'localhost:9200/_analyze?analyzer=standard' -d 'I love Bears and Fish.'
只是奇怪,为何post的内容 'I love Bears and Fish.'不需要字段名?
试验了几次后,发现在6.x上,该字段的字段名是text
所以请求body应该是这样的
可以使用get方法来使用_analyze端点 收起阅读 »
ES 6.x如何使用_analyze端点
因为使用curl编辑查询语句很不方便。平时用postman最多,故平时查询ES经常使用postman查询。
_analyze端点是用于查询分析器的分析效果。
文档中使用如下方法查询
curl -XPOST 'localhost:9200/_analyze?analyzer=standard' -d 'I love Bears and Fish.'
只是奇怪,为何post的内容 'I love Bears and Fish.'不需要字段名?
试验了几次后,发现在6.x上,该字段的字段名是text
所以请求body应该是这样的
可以使用get方法来使用_analyze端点 收起阅读 »
可转债如何配债
由于还是有很多人不断问我如何配债的问题,这里以歌尔声学为例简单说明下。
1、如果你在登记日也就是12月11日收盘时还持有一定数量歌尔声学正股的话,那么你在配债日也就是12月12日就会看到账户里有相应数量的歌尔配债。注意这里的单位是张,如图,
由于我只有800股歌尔声学,因此获得了13张配债,1张对应100元,这时双击它,左侧出现了卖出菜单,价格和配债代码都自动填好了,输入13张或者点击全部,然后点“卖出”。(需要注意的是:有些券商这里是买入。)
2、不管是卖出还是买入,然后检查下委托情况和扣款情况,如下图:
可以看到我已经被扣款1300元,这样就算成功完成了这次的13张配债.
可转债低佣金开户,沪市转债费率百分之二,全市场最低。
有兴趣的朋友可以扫描开户:

收起阅读 »
1、如果你在登记日也就是12月11日收盘时还持有一定数量歌尔声学正股的话,那么你在配债日也就是12月12日就会看到账户里有相应数量的歌尔配债。注意这里的单位是张,如图,
由于我只有800股歌尔声学,因此获得了13张配债,1张对应100元,这时双击它,左侧出现了卖出菜单,价格和配债代码都自动填好了,输入13张或者点击全部,然后点“卖出”。(需要注意的是:有些券商这里是买入。)
2、不管是卖出还是买入,然后检查下委托情况和扣款情况,如下图:
可以看到我已经被扣款1300元,这样就算成功完成了这次的13张配债.
可转债低佣金开户,沪市转债费率百分之二,全市场最低。
有兴趣的朋友可以扫描开户:

收起阅读 »
scrapy命令行执行传递多个参数给spider 动态传参
有时候在命令行执行scrapy,比如scrapy crawl spiderXXXX,如果我想要传递一个自定义的参数进去给scrapy,比如我想传递一个爬取的页码数目,我要每次爬取10页。
那么需要在spider中定义一个构造函数
然后在启动scrapy的时候赋予参数的值:
scrapy crawl spider -a page=10
就可以动态传入参数
原创文章
转载请注明出处:http://30daydo.com/article/436
收起阅读 »
那么需要在spider中定义一个构造函数
def __init__(self,page=None,*args, **kwargs):
super(Gaode,self).__init__(*args, **kwargs)
self.page=page
def start_requests(self):
XXXXXX 调用self.page 即可
yield Request(XXXX)
然后在启动scrapy的时候赋予参数的值:
scrapy crawl spider -a page=10
就可以动态传入参数
原创文章
转载请注明出处:http://30daydo.com/article/436
收起阅读 »
学习强国Python自动化代码
话不多说,爱国爱党爱人民!!! 本代码转载至github其他人,与本人无关。
# _*_ coding: utf-8 _*_收起阅读 »
from selenium import webdriver
import time
__author__ = 'Silent_Coder'
__date__ = '2019/3/12 22:41'
HOME_PAGE = 'https://www.xuexi.cn/'
VIDEO_LINK = 'https://www.xuexi.cn/a191dbc3067d516c3e2e17e2e08953d6/b87d700beee2c44826a9202c75d18c85.html?pageNumber=39'
LONG_VIDEO_LINK = 'https://www.xuexi.cn/f65dae4a57fe21fcc36f3506d660891c/b2e5aa79be613aed1f01d261c4a2ae17.html'
LONG_VIDEO_LINK2 = 'https://www.xuexi.cn/0040db2a403b0b9303a68b9ae5a4cca0/b2e5aa79be613aed1f01d261c4a2ae17.html'
TEST_VIDEO_LINK = 'https://www.xuexi.cn/8e35a343fca20ee32c79d67e35dfca90/7f9f27c65e84e71e1b7189b7132b4710.html'
SCORES_LINK = 'https://pc.xuexi.cn/points/my-points.html'
LOGIN_LINK = 'https://pc.xuexi.cn/points/login.html'
ARTICLES_LINK = 'https://www.xuexi.cn/d05cad69216e688d304bb91ef3aac4c6/9a3668c13f6e303932b5e0e100fc248b.html'
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
browser = webdriver.Chrome(executable_path=r'D:\OneDrive\Python\selenium\chromedriver.exe',options=options)
def login_simulation():
"""模拟登录"""
# 方式一:使用cookies方式
# 先自己登录,然后复制token值覆盖
# cookies = {'name': 'token', 'value': ''}
# browser.add_cookie(cookies)
# 方式二:自己扫码登录
browser.get(LOGIN_LINK)
browser.maximize_window()
browser.execute_script("var q=document.documentElement.scrollTop=1000")
time.sleep(10)
browser.get(HOME_PAGE)
print("模拟登录完毕\n")
def watch_videos():
"""观看视频"""
browser.get(VIDEO_LINK)
videos = browser.find_elements_by_xpath("//div[@id='Ck3ln2wlyg3k00']")
spend_time = 0
for i, video in enumerate(videos):
if i > 6:
break
video.click()
all_handles = browser.window_handles
browser.switch_to_window(all_handles[-1])
browser.get(browser.current_url)
# 点击播放
browser.find_element_by_xpath("//div[@class='outter']").click()
# 获取视频时长
video_duration_str = browser.find_element_by_xpath("//span[@class='duration']").get_attribute('innerText')
video_duration = int(video_duration_str.split(':')[0]) * 60 + int(video_duration_str.split(':')[1])
# 保持学习,直到视频结束
time.sleep(video_duration + 3)
spend_time += video_duration + 3
browser.close()
browser.switch_to_window(all_handles[0])
# if spend_time < 3010:
# browser.get(LONG_VIDEO_LINK)
# browser.execute_script("var q=document.documentElement.scrollTop=850")
# try:
# browser.find_element_by_xpath("//div[@class='outter']").click()
# except:
# pass
#
# # 观看剩下的时间
# time.sleep(3010 - spend_time)
browser.get(TEST_VIDEO_LINK)
time.sleep(3010 - spend_time)
print("播放视频完毕\n")
def read_articles():
"""阅读文章"""
browser.get(ARTICLES_LINK)
articles = browser.find_elements_by_xpath("//div[@id='Ca4gvo4bwg7400']")
for index, article in enumerate(articles):
if index > 7:
break
article.click()
all_handles = browser.window_handles
browser.switch_to_window(all_handles[-1])
browser.get(browser.current_url)
for i in range(0, 2000, 100):
js_code = "var q=document.documentElement.scrollTop=" + str(i)
browser.execute_script(js_code)
time.sleep(5)
for i in range(2000, 0, -100):
js_code = "var q=document.documentElement.scrollTop=" + str(i)
browser.execute_script(js_code)
time.sleep(5)
time.sleep(80)
browser.close()
browser.switch_to_window(all_handles[0])
print("阅读文章完毕\n")
def get_scores():
"""获取当前积分"""
browser.get(SCORES_LINK)
time.sleep(2)
gross_score = browser.find_element_by_xpath("//*[@id='app']/div/div[2]/div/div[2]/div[2]/span[1]")\
.get_attribute('innerText')
today_score = browser.find_element_by_xpath("//span[@class='my-points-points']").get_attribute('innerText')
print("当前总积分:" + str(gross_score))
print("今日积分:" + str(today_score))
print("获取积分完毕,即将退出\n")
if __name__ == '__main__':
login_simulation() # 模拟登录
read_articles() # 阅读文章
watch_videos() # 观看视频
get_scores() # 获得今日积分
browser.quit()
运行keras报错 No module named 'numpy.core._multiarray_umath'
python用的是anaconda安装的。
以前没遇到这个问题,所以怀疑是conda自带的numpy版本过低,然后使用命令 pip install numpy -U
把numpy更新到最新的版本,然后问题就解决了。
收起阅读 »
ModuleNotFoundError Traceback (most recent call last)
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
ImportError: numpy.core.multiarray failed to import
The above exception was the direct cause of the following exception:
SystemError Traceback (most recent call last)
C:\ProgramData\Anaconda3\lib\importlib\_bootstrap.py in _find_and_load(name, import_)
SystemError: <class '_frozen_importlib._ModuleLockManager'> returned a result with an error set
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
ImportError: numpy.core._multiarray_umath failed to import
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
ImportError: numpy.core.umath failed to import
2019-03-26 18:01:48.643796: F tensorflow/python/lib/core/bfloat16.cc:675] Check failed: PyBfloat16_Type.tp_base != nullptr
以前没遇到这个问题,所以怀疑是conda自带的numpy版本过低,然后使用命令 pip install numpy -U
把numpy更新到最新的版本,然后问题就解决了。
收起阅读 »
最新版的anaconda无法使用pip安装软件:报错 SSL module is not available
错误信息:
折腾了很久,最新版的anaconda使用的是python3.7,也按照网上的方法,把openssl安装了,可是问题还是没有得到解决。
无奈下只能下载其他版本的anaconda。 可以到这里下载:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载一个旧版本的anaconda,然后问题就得到解决了。
############ 更新 ##############
新建一个 .condarc 文件,在 windows下的用户名目录下 , 如 administrator下,
输入以下的内容:
重新下载即可。 收起阅读 »
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.ustc.edu.cn/an ... gt%3B
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
SSLError(MaxRetryError('HTTPSConnectionPool(host=\'mirrors.ustc.edu.cn\', port=443): Max retries exceeded with url: /anaconda/cloud/conda-forge/win-64/repodata.json (Caused by SSLError("Can\'t connect to HTTPS URL because the SSL module is not available."))'))
折腾了很久,最新版的anaconda使用的是python3.7,也按照网上的方法,把openssl安装了,可是问题还是没有得到解决。
无奈下只能下载其他版本的anaconda。 可以到这里下载:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载一个旧版本的anaconda,然后问题就得到解决了。
############ 更新 ##############
新建一个 .condarc 文件,在 windows下的用户名目录下 , 如 administrator下,
输入以下的内容:
channels:
- http://mirrors.tuna.tsinghua.e ... main/
- http://mirrors.tuna.tsinghua.e ... onda/
- http://mirrors.tuna.tsinghua.e ... free/
show_channel_urls: true
ssl_verify: true
重新下载即可。 收起阅读 »
shapely windows的安装方式
在win7上默认使用pip 安装会失败。
报错:
pip install Shapely
应该是版本兼容问题。 到官网上:https://shapely.readthedocs.io/en/latest/project.html#requirements
发现,windows只能使用源文件安装或者使用conda安装。
源文件安装:
先下载
下载链接:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
然后使用pip安装
收起阅读 »
报错:
pip install Shapely
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 24: invalid continuation byte
应该是版本兼容问题。 到官网上:https://shapely.readthedocs.io/en/latest/project.html#requirements
发现,windows只能使用源文件安装或者使用conda安装。
源文件安装:
先下载
下载链接:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
然后使用pip安装
收起阅读 »
踩坑了
flask 循环导入的问题
【2019-03-16】市场热度预测 - 通过检测某个论坛(集思录)的热度衡量
很早前就有这个想法,只是最终实践最近才完成,其实并不是很大难度,只是把这个事情早早抛诸脑后。
首先得有数据,有了数据就可以慢慢分析了。
首先是集思录,把数据进行重新采用,按照周采样,然后绘图:
看到这张图后,瞬间也是震惊了,我觉得应该要逃离了。当然不是马上撤离,但是应该时间不会太久,1-2周就应该空仓了。
感觉这个是不错逃顶抄底指标呀。
文章中的数据每周更新,敬请留意。
原创文章
转载请注明出处:
http://30daydo.com/article/428
收起阅读 »
首先得有数据,有了数据就可以慢慢分析了。
首先是集思录,把数据进行重新采用,按照周采样,然后绘图:
看到这张图后,瞬间也是震惊了,我觉得应该要逃离了。当然不是马上撤离,但是应该时间不会太久,1-2周就应该空仓了。
感觉这个是不错逃顶抄底指标呀。
文章中的数据每周更新,敬请留意。
原创文章
转载请注明出处:
http://30daydo.com/article/428
收起阅读 »
争先恐后开科创板当韭菜当试验品
争先恐后开科创板当韭菜当试验品
一个市场理性不理性 和人数有非常大的关系 现在科创板之所以设置一个门槛 就是因为这个是要当试验品的 所以有巨大的风险 一般老百姓是难以承受的
现在有一种理论 就是一开始科创板肯定是涨的 至于以后就不管了 关键是一开始是多久呢?你能看到 别人也能看到 最后就是比手快了
科创板也好 创业板也好 中小板也好 无非是换个名字而已 企业还是这样的企业 体制还是这样的体制 人还是这批人 股票也还是这样的股票
散户投资股票并无优势 既没有资金 也没有信息 频繁交易无非给券商打工 勉强的一点优势就是能熬 不过能熬也要买在低位吧 类似48元的中石油 估计到孙子辈不知道能不能解套了
所以 还是老老实实点 买股票只有人少没量的时候才能进 人多量大的时候还是出来看热闹吧 还是那句话 管住手
收起阅读 »
CZWZ
技术栈
前端:layui
后端:falsk + elasticsearch +mysql
-----------------------抓紧学习研究-----------------------
jenkins
slack
前端:layui
后端:falsk + elasticsearch +mysql
-----------------------抓紧学习研究-----------------------
jenkins
slack
2019-03-02
“人生为了回家,终究离开家。”
关于风险
上涨中所有风险都会被忽视
下跌中所有风险都会被放大
可是实际的事实却是:
上涨中所有风险都会被积累
下跌中所有风险都会被释放
大鳄 索罗斯的“反身性”理论 --大师就是大师,或者说是个疯子
转载的文章,很有思考价值。推荐一看,需要点耐心。
索罗斯的投资思想很庞杂,晦涩难懂,很容易产生歧义。
从严格意义上来讲,索罗斯从来没有对外透露过他的具体投资方法。索罗斯在哈佛大学演讲时说幽默的说,凡是读过他书的人绝对赚不到钱,因为没有人能够知道真实的他。
一位观众举手问他:“你能告诉我们真实的你是什么样的吗?”索罗斯笑答:“不能,说出了就没有索罗斯了。”
所以,外界只能是从他的哲学和投资案例来了解他,我也不例外。
我读过索罗斯写的所有书,也读过很多研究索罗斯投资思想的博士硕士论文,我对索罗斯的投资思想有自己的看法。我认为,索罗斯的投资思想是建立在一个基石上,这个基石是错误、可错性、彻底的可错性。市场会犯错误,人会犯错误,一切貌似正确的投资理论也只不过是等待接受检验的错误而已,说得更极端点-----塑造了历史面貌的思想无非是一些内涵丰富的谬论。
一套富于衍生性的谬论往往最初被人们视为真知灼见,只有在它被解释为现实之后,它的缺陷才开始暴露出来,然后将会出现另一套同样内涵丰富的但与之正相反的新谬论,并且这一过程仍将不断地进行下去。这种观点在正统那里可以说是“异端邪说”,但索罗斯靠着这个思想衍生出来的投资方法获得惊人的成就。
可错性与索罗斯的哲学信仰一脉相承。
索罗斯的哲学根基主要是来源于卡尔﹒波普的证伪主义,还有部分是来源于哈耶克的《感觉的秩序》和《科学的反革命》。证伪主义可以说是认识论上的一次革命,它震耳发聩地提出了新的观点。它认为所有的科学知识都是暂时的,都是等待被证伪的,一些今天看来颠簸不破的真理,很可能只是明天的谬论而已。科学命题不能被证实,只可以被证伪,可证伪性是科学与非科学的划分标准。人类科学知识的增长不是累积式的前进,而是排除错误式的前进,先提出假说,然后予以反驳。
由此,索罗斯提出两个反对,一是反对归纳法,二是反对科学主义。
索罗斯认为,不可能经由归纳法则概括出赢取超额利润的一般方法,假如存在,那么投资者理论上就可以通吃市场,而市场将不复存在。归纳法是典型的累积式的认识论,它违法了从猜想到反驳的证伪原则。用黑天鹅理论来说,即使发现了99只白天鹅,也不能用归纳法说所有的天鹅都是白的,也许第100只是黑的。所以,索罗斯认为,试图照搬自然科学研究方法来归纳出金融市场的历史过程、或者从历史过程中总结出一般性的盈利方法,都犯了投资大忌。
与此同时,索罗斯还极力反对科学主义。自然科学和社会科学有巨大的差异,前者研究的对象是独立的事实,无论研究者抱着什么样的态度都改变不了事实,而后者参杂了观察者的偏见,研究者的信仰、价值观、立场、思维方式的差异都可以重塑事实。金融市场属于后者,股价怎么走不仅取决于事实即基本面,也取决于人们的偏见即怎么看待基本面,由此金融市场就充满巨大的不确定性。
为了说明这个问题,索罗斯引用量子力学的理论。海森堡的量子力学认为,量子粒子的质量和速度不可能同时得到精确的测量,其原因在于测量行为干扰了测量对象,在这种情况下,不确定因素是由外部观察者引入的。
融市场本身,从而让股价的走势不再是独立的,它总是与参与思维发生反复的共振,这也就是反身性。
既然是这样,金融市场就不可能用简单的科学方法来计算。而科学主义者却机械地、毫无批判地将科学方法加诸其研究之上,从这个意义上来说,科学主义恰恰是对科学精神的背叛。
索罗斯赞哈耶克的观点,科学主义是我们的现代科学文明中自我毁灭的力量,是滥用理性的极端表现。他反对任何人假借科学的名义而妄称掌握终极真理的理性狂妄。这也就是为什么投资大师反对过度数学化、工程化倾向,索罗斯甚至不无讽刺的说,他的数学符号从来不比ɑ、? 更多。
而另一个大师巴菲特也说,他用到的数学知识不超过小学水平。索罗斯很反对一些主流经济学家所谓的数量分析,他认同凯恩斯的观点:经济现实中的变量往往是互相依赖的,而某些传统的学者却假设它们是独立存在的,从而用偏微分的方法得出一定的结论,而当他们把结论用于现实时,却又忘记了这些结论赖以存在的假设条件……这是典型的伪数学方法……假设条件使那些作者们能在矫揉造作和毫无用处的数学符号中,忘记现实世界的复杂性和互相依赖的性质。
对归纳法和科学主义的深恶痛疾让索罗斯不得不另辟蹊径,由此索罗斯进入了反身性的世界,并最终得出炼金术的观点。
什么是反身性?
这个概念很晦涩,我们来一层一层的认识它。我们先来看一个命题:一个罗马人说,所有罗马人都撒谎。请问这个罗马人的话是真命题还是假命题?如果相信他,那么就面临一个逻辑悖论:承认了至少有一个罗马人说真话,从而又否定了他。这就是著名的“说谎者悖论”。大哲学家罗素面对这个悖论的时候说,我们应该把命题分为涉及自身的陈述和不涉及自身的陈述,如此就可以解决说谎者悖论。这里就引出一个重要的因素:涉及自身。
索罗斯由此出发来导出反身性概念,索罗斯认为,凡是涉及命题者自身、在内容上“或真”的命题,都是反身性命题。
进一步说,研究对象受到研究者自身的影响就叫反身性。如此一来,股票市场天然就是反身性了,因为股票参与者的观点必然影响到股价,进而让股价不再独立。为了说明这个问题,索罗斯又引出两个函数:
y=f(x) 认知函数
x=F(y) 参与函数
人的行为是y,人的认识是x,行为是认识的函数,表述为认知函数。
其含义是:有什么样的知识就有什么样的行为。而人的行为对人的认识有反作用,认识是行为的函数,表述为参与函数,其含义是:有某一类行为就会有某一类知识。“两个函数同时发挥作用,互相干扰。函数以自变量为前提产生确定的结果,但在这种情境下,一个函数的自变量是另外一个函数的因变量。
确定的结果不再出现,我们看到的是一种相互作用,其中情景和参与者的观点两者均为因变量,以致一个初始变化会突然同时引起情景和参与者观点的进一步变化,我称之为反身性。”上述函数又会产生递归性,它们不会产生均衡,而只有一个永无止境的变化过程。用函数表达其变化为:
y=f(F(y))
x=F(f(x))
这就是说,x和y都是它自身变化的函数——认识是认识变化的的函数,行为是行为变化的函数。它实际上也是一种“自回归系统”。索罗斯用这这个函数是想说明,金融市场根本区别于自然科学研究的过程,在那里,一组事件跟随另一组事件,不受思维和认知的干扰。而金融市场是思维参与其中,因果关系不再是一组事件直接导向下一组事件,相反,它以一种类似鞋襻的模式将事实联结与认知,认知复联结于事实。
如此,反身性理论构建完毕,用通俗的话来解释,就是参与者的认知和被认知对象互相影响,基本面影响观点,观点反过来也影响基本面,它们永不均衡,互动变化,以致无穷。
美国学者约翰﹒特雷恩在《大师的投资习惯》中对此有过精彩解读:“‘反身性原理’的本质是指认知可以改变事件,而事件反过来又改变认知。这种效应通常被称为‘反馈’。这就好比,如果你拴住一条脾气好的狗并踢他,骂它‘坏狗’,那么这条狗会真的变得很凶,并扑过来咬你,而这又会引来更多的踢打、更多的撕咬。”
再举个更直白的例子,如果投资者相信美元升值,那么他们的购买行为讲会让美元上涨,这反过来又会使利率降低,刺激经济增长,从而推动美元再次升值。这也就回到前面的那个说谎者的悖论,凡是涉及自我的命题,自我都难逃脱干系。在这个过程中,任何简单的只研究股价本身而不顾参与者偏见的科学主义都是错的。
说得更极端些,那些即使是认识错误的命题,只要有足够强大的影响力,它依然能在股市获利,这就是为什么股价有时候看起来泡沫很大但买的人很多,有时候看起来又低得可怜但无人问津。因为金融市场是个“炼金术”,投资者的决策意意识和决策行为具有像“炼金师”那么改变“事实结构”的“意志力”。在科学家看来,改变“物质结构”的“意念”是伪科学的,但在金融世界里,“改变市场结构”的“主流偏见”却是真是的,却是可以赚大钱的。所以,金融市场拒绝了科学主义,却接纳了金融炼金术。
整理一下刚才的逻辑,索罗斯认为,很多认知貌似真理,其实是错的、不确定的,它们所谓的正确只是暂时的、等待证伪的。无论它们是通过归纳法还是科学主义得到的认识,都不足以垄断真理和科学,在自然科学领域如此,在社会科学领域更是如此。更荒谬的是,很多人把自然科学的方法和结论强加在社会现象的研究中,这如同把魔术方法应用到自然科学领域的炼金术一样,只能使炼金术身败名裂。
社会科学是特殊的领域,研究者可以对研究对象施加自己的影响,在社会、政治、经济事物中,理论即使没有确凿的证据也可以是有效的,因为社会科学充满反身性,只要主流偏见足够强大,谬论也会在某些情况下变成“真理”,所以金融炼金术可以大行其道。
金融市场是反身性市场,它的决策不可能成为一个科学研究的命题,相反,它更像一个“非科学”的“炼金术”,因为金融市场中的决策评价取决于参与者们歪曲了的见解。正是因为参与者的决策并非基于客观的条件,而是对条件的解释,所以金融市场的根子是不确定的、是可错的。
没有人能完全正确认识市场,任何所谓正确的认识都只能是猜测,它还须接受反驳和证伪。投资的过程就是不断提出猜想并让市场验证和反驳的过程,而不是用科学命题去决策的过程。在索罗斯眼里,金融市场是不确定的,这种不确定是根本性的、是绝对的,任何看法都可能错,任何错误都可能发生,它们本质上也就是风险。索罗斯思想的底色就是可错性、不确定性、认知的不完备性,也就是风险性。
索罗斯的哲学认知论让他怀疑一切,包括他自己。
索罗斯谈到他为什么和罗杰斯分道扬镳时说,罗杰斯有个重大缺陷:“他极为藐视华尔街专业人才的精明”----尽管在这一点上索罗斯认为自己和罗杰斯看法相同----但是“罗杰斯却极为自信,从来不承认自己也可能犯错”,而“我却时刻相信自己也会犯错误”。这道出了索罗斯内心的哲学根基:证伪主义。市场总是错的,我也总会犯错。这就形成了索罗斯对股市的根本判断:股市风险第一,不确定第一,所以要想在股市生存必须时刻学会逃跑,因为投资本质上是在冒险。
个人总结一下,个人理解,要成为索罗斯这种人,那么就是个疯子。 因为他需要怀疑周围的一切,包括他自己,因为在索罗斯看来,什么都是可以证伪的。这样的人,在我看来,会被人理解为人格分裂。 如果不是他靠这个积累了大量财富,绝对会被人当做是一个疯子。
收起阅读 »
索罗斯的投资思想很庞杂,晦涩难懂,很容易产生歧义。
从严格意义上来讲,索罗斯从来没有对外透露过他的具体投资方法。索罗斯在哈佛大学演讲时说幽默的说,凡是读过他书的人绝对赚不到钱,因为没有人能够知道真实的他。
一位观众举手问他:“你能告诉我们真实的你是什么样的吗?”索罗斯笑答:“不能,说出了就没有索罗斯了。”
所以,外界只能是从他的哲学和投资案例来了解他,我也不例外。
我读过索罗斯写的所有书,也读过很多研究索罗斯投资思想的博士硕士论文,我对索罗斯的投资思想有自己的看法。我认为,索罗斯的投资思想是建立在一个基石上,这个基石是错误、可错性、彻底的可错性。市场会犯错误,人会犯错误,一切貌似正确的投资理论也只不过是等待接受检验的错误而已,说得更极端点-----塑造了历史面貌的思想无非是一些内涵丰富的谬论。
一套富于衍生性的谬论往往最初被人们视为真知灼见,只有在它被解释为现实之后,它的缺陷才开始暴露出来,然后将会出现另一套同样内涵丰富的但与之正相反的新谬论,并且这一过程仍将不断地进行下去。这种观点在正统那里可以说是“异端邪说”,但索罗斯靠着这个思想衍生出来的投资方法获得惊人的成就。
可错性与索罗斯的哲学信仰一脉相承。
索罗斯的哲学根基主要是来源于卡尔﹒波普的证伪主义,还有部分是来源于哈耶克的《感觉的秩序》和《科学的反革命》。证伪主义可以说是认识论上的一次革命,它震耳发聩地提出了新的观点。它认为所有的科学知识都是暂时的,都是等待被证伪的,一些今天看来颠簸不破的真理,很可能只是明天的谬论而已。科学命题不能被证实,只可以被证伪,可证伪性是科学与非科学的划分标准。人类科学知识的增长不是累积式的前进,而是排除错误式的前进,先提出假说,然后予以反驳。
由此,索罗斯提出两个反对,一是反对归纳法,二是反对科学主义。
索罗斯认为,不可能经由归纳法则概括出赢取超额利润的一般方法,假如存在,那么投资者理论上就可以通吃市场,而市场将不复存在。归纳法是典型的累积式的认识论,它违法了从猜想到反驳的证伪原则。用黑天鹅理论来说,即使发现了99只白天鹅,也不能用归纳法说所有的天鹅都是白的,也许第100只是黑的。所以,索罗斯认为,试图照搬自然科学研究方法来归纳出金融市场的历史过程、或者从历史过程中总结出一般性的盈利方法,都犯了投资大忌。
与此同时,索罗斯还极力反对科学主义。自然科学和社会科学有巨大的差异,前者研究的对象是独立的事实,无论研究者抱着什么样的态度都改变不了事实,而后者参杂了观察者的偏见,研究者的信仰、价值观、立场、思维方式的差异都可以重塑事实。金融市场属于后者,股价怎么走不仅取决于事实即基本面,也取决于人们的偏见即怎么看待基本面,由此金融市场就充满巨大的不确定性。
为了说明这个问题,索罗斯引用量子力学的理论。海森堡的量子力学认为,量子粒子的质量和速度不可能同时得到精确的测量,其原因在于测量行为干扰了测量对象,在这种情况下,不确定因素是由外部观察者引入的。
融市场本身,从而让股价的走势不再是独立的,它总是与参与思维发生反复的共振,这也就是反身性。
既然是这样,金融市场就不可能用简单的科学方法来计算。而科学主义者却机械地、毫无批判地将科学方法加诸其研究之上,从这个意义上来说,科学主义恰恰是对科学精神的背叛。
索罗斯赞哈耶克的观点,科学主义是我们的现代科学文明中自我毁灭的力量,是滥用理性的极端表现。他反对任何人假借科学的名义而妄称掌握终极真理的理性狂妄。这也就是为什么投资大师反对过度数学化、工程化倾向,索罗斯甚至不无讽刺的说,他的数学符号从来不比ɑ、? 更多。
而另一个大师巴菲特也说,他用到的数学知识不超过小学水平。索罗斯很反对一些主流经济学家所谓的数量分析,他认同凯恩斯的观点:经济现实中的变量往往是互相依赖的,而某些传统的学者却假设它们是独立存在的,从而用偏微分的方法得出一定的结论,而当他们把结论用于现实时,却又忘记了这些结论赖以存在的假设条件……这是典型的伪数学方法……假设条件使那些作者们能在矫揉造作和毫无用处的数学符号中,忘记现实世界的复杂性和互相依赖的性质。
对归纳法和科学主义的深恶痛疾让索罗斯不得不另辟蹊径,由此索罗斯进入了反身性的世界,并最终得出炼金术的观点。
什么是反身性?
这个概念很晦涩,我们来一层一层的认识它。我们先来看一个命题:一个罗马人说,所有罗马人都撒谎。请问这个罗马人的话是真命题还是假命题?如果相信他,那么就面临一个逻辑悖论:承认了至少有一个罗马人说真话,从而又否定了他。这就是著名的“说谎者悖论”。大哲学家罗素面对这个悖论的时候说,我们应该把命题分为涉及自身的陈述和不涉及自身的陈述,如此就可以解决说谎者悖论。这里就引出一个重要的因素:涉及自身。
索罗斯由此出发来导出反身性概念,索罗斯认为,凡是涉及命题者自身、在内容上“或真”的命题,都是反身性命题。
进一步说,研究对象受到研究者自身的影响就叫反身性。如此一来,股票市场天然就是反身性了,因为股票参与者的观点必然影响到股价,进而让股价不再独立。为了说明这个问题,索罗斯又引出两个函数:
y=f(x) 认知函数
x=F(y) 参与函数
人的行为是y,人的认识是x,行为是认识的函数,表述为认知函数。
其含义是:有什么样的知识就有什么样的行为。而人的行为对人的认识有反作用,认识是行为的函数,表述为参与函数,其含义是:有某一类行为就会有某一类知识。“两个函数同时发挥作用,互相干扰。函数以自变量为前提产生确定的结果,但在这种情境下,一个函数的自变量是另外一个函数的因变量。
确定的结果不再出现,我们看到的是一种相互作用,其中情景和参与者的观点两者均为因变量,以致一个初始变化会突然同时引起情景和参与者观点的进一步变化,我称之为反身性。”上述函数又会产生递归性,它们不会产生均衡,而只有一个永无止境的变化过程。用函数表达其变化为:
y=f(F(y))
x=F(f(x))
这就是说,x和y都是它自身变化的函数——认识是认识变化的的函数,行为是行为变化的函数。它实际上也是一种“自回归系统”。索罗斯用这这个函数是想说明,金融市场根本区别于自然科学研究的过程,在那里,一组事件跟随另一组事件,不受思维和认知的干扰。而金融市场是思维参与其中,因果关系不再是一组事件直接导向下一组事件,相反,它以一种类似鞋襻的模式将事实联结与认知,认知复联结于事实。
如此,反身性理论构建完毕,用通俗的话来解释,就是参与者的认知和被认知对象互相影响,基本面影响观点,观点反过来也影响基本面,它们永不均衡,互动变化,以致无穷。
美国学者约翰﹒特雷恩在《大师的投资习惯》中对此有过精彩解读:“‘反身性原理’的本质是指认知可以改变事件,而事件反过来又改变认知。这种效应通常被称为‘反馈’。这就好比,如果你拴住一条脾气好的狗并踢他,骂它‘坏狗’,那么这条狗会真的变得很凶,并扑过来咬你,而这又会引来更多的踢打、更多的撕咬。”
再举个更直白的例子,如果投资者相信美元升值,那么他们的购买行为讲会让美元上涨,这反过来又会使利率降低,刺激经济增长,从而推动美元再次升值。这也就回到前面的那个说谎者的悖论,凡是涉及自我的命题,自我都难逃脱干系。在这个过程中,任何简单的只研究股价本身而不顾参与者偏见的科学主义都是错的。
说得更极端些,那些即使是认识错误的命题,只要有足够强大的影响力,它依然能在股市获利,这就是为什么股价有时候看起来泡沫很大但买的人很多,有时候看起来又低得可怜但无人问津。因为金融市场是个“炼金术”,投资者的决策意意识和决策行为具有像“炼金师”那么改变“事实结构”的“意志力”。在科学家看来,改变“物质结构”的“意念”是伪科学的,但在金融世界里,“改变市场结构”的“主流偏见”却是真是的,却是可以赚大钱的。所以,金融市场拒绝了科学主义,却接纳了金融炼金术。
整理一下刚才的逻辑,索罗斯认为,很多认知貌似真理,其实是错的、不确定的,它们所谓的正确只是暂时的、等待证伪的。无论它们是通过归纳法还是科学主义得到的认识,都不足以垄断真理和科学,在自然科学领域如此,在社会科学领域更是如此。更荒谬的是,很多人把自然科学的方法和结论强加在社会现象的研究中,这如同把魔术方法应用到自然科学领域的炼金术一样,只能使炼金术身败名裂。
社会科学是特殊的领域,研究者可以对研究对象施加自己的影响,在社会、政治、经济事物中,理论即使没有确凿的证据也可以是有效的,因为社会科学充满反身性,只要主流偏见足够强大,谬论也会在某些情况下变成“真理”,所以金融炼金术可以大行其道。
金融市场是反身性市场,它的决策不可能成为一个科学研究的命题,相反,它更像一个“非科学”的“炼金术”,因为金融市场中的决策评价取决于参与者们歪曲了的见解。正是因为参与者的决策并非基于客观的条件,而是对条件的解释,所以金融市场的根子是不确定的、是可错的。
没有人能完全正确认识市场,任何所谓正确的认识都只能是猜测,它还须接受反驳和证伪。投资的过程就是不断提出猜想并让市场验证和反驳的过程,而不是用科学命题去决策的过程。在索罗斯眼里,金融市场是不确定的,这种不确定是根本性的、是绝对的,任何看法都可能错,任何错误都可能发生,它们本质上也就是风险。索罗斯思想的底色就是可错性、不确定性、认知的不完备性,也就是风险性。
索罗斯的哲学认知论让他怀疑一切,包括他自己。
索罗斯谈到他为什么和罗杰斯分道扬镳时说,罗杰斯有个重大缺陷:“他极为藐视华尔街专业人才的精明”----尽管在这一点上索罗斯认为自己和罗杰斯看法相同----但是“罗杰斯却极为自信,从来不承认自己也可能犯错”,而“我却时刻相信自己也会犯错误”。这道出了索罗斯内心的哲学根基:证伪主义。市场总是错的,我也总会犯错。这就形成了索罗斯对股市的根本判断:股市风险第一,不确定第一,所以要想在股市生存必须时刻学会逃跑,因为投资本质上是在冒险。
个人总结一下,个人理解,要成为索罗斯这种人,那么就是个疯子。 因为他需要怀疑周围的一切,包括他自己,因为在索罗斯看来,什么都是可以证伪的。这样的人,在我看来,会被人理解为人格分裂。 如果不是他靠这个积累了大量财富,绝对会被人当做是一个疯子。
收起阅读 »
天天网络攻击,待会我就把负面的几条到处转发,我好几个站点呢
谁怕谁,SEO一下,到处都可以百度你的负面信息。
Linux下自制有道词典 - python 解密有道词典JS加密
对于爬虫新手来说,JS解密是一道过不去的坎,需要不断地练习。
平时在linux下开发,鉴于没有什么好用翻译软件,打开网易也占用系统资源,所以写了个在控制台的翻译软件接口。
使用python爬虫,查看网页的JS加密方法,一步一步地分析,就能够得到最后的加密方法啦。
直接给出代码:
得到结果:
Github:
https://github.com/Rockyzsu/CrawlMan/tree/master/youdao_dictionary
原创文章,转载请注明出处
http://30daydo.com/article/416 收起阅读 »
平时在linux下开发,鉴于没有什么好用翻译软件,打开网易也占用系统资源,所以写了个在控制台的翻译软件接口。
使用python爬虫,查看网页的JS加密方法,一步一步地分析,就能够得到最后的加密方法啦。
直接给出代码:
# -*- coding: utf-8 -*-
# website: http://30daydo.com
# @Time : 2019/2/23 19:34
# @File : youdao.py
# 解密有道词典的JS
import hashlib
import random
import requests
import time
def md5_(word):
s = bytes(word, encoding='utf8')
m = hashlib.md5()
m.update(s)
ret = m.hexdigest()
return ret
def get_sign(word, salt):
ret = md5_('fanyideskweb' + word + salt + 'p09@Bn{h02_BIEe]$P^nG')
return ret
def youdao(word):
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
headers = {
'Host': 'fanyi.youdao.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding': 'gzip, deflate',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest',
'Referer': 'http://fanyi.youdao.com/',
'Content-Length': '252',
'Cookie': 'YOUDAO_MOBILE_ACCESS_TYPE=1; OUTFOX_SEARCH_USER_ID=1672542763@10.169.0.83; JSESSIONID=aaaWzxpjeDu1gbhopLzKw; ___rl__test__cookies=1550913722828; OUTFOX_SEARCH_USER_ID_NCOO=372126049.6326876',
'Connection': 'keep-alive',
'Pragma': 'no-cache',
'Cache-Control': 'no-cache',
}
ts = str(int(time.time()*1000))
salt=ts+str(random.randint(0,10))
bv = md5_("5.0 (Windows)")
sign= get_sign(word,salt)
post_data = {
'i': word,
'from': 'AUTO', 'to': 'AUTO', 'smartresult': 'dict', 'client': 'fanyideskweb', 'salt': salt,
'sign': sign, 'ts': ts, 'bv': bv, 'doctype': 'json', 'version': '2.1',
'keyfrom': 'fanyi.web', 'action': 'FY_BY_REALTIME', 'typoResult': 'false'
}
r = requests.post(
url=url,
headers=headers,
data=post_data
)
for item in r.json().get('smartResult',{}).get('entries'):
print(item)
word='student'
youdao(word)
得到结果:
Github:
https://github.com/Rockyzsu/CrawlMan/tree/master/youdao_dictionary
原创文章,转载请注明出处
http://30daydo.com/article/416 收起阅读 »
修改Logstash中的sql_last_value值
修改syncpoint_table里面的值 就可以了。
这个文件在logstash的第一层目录底下。
不然每次都是从这个最后的值开始执行的。
这个文件在logstash的第一层目录底下。
不然每次都是从这个最后的值开始执行的。
防守
0050 没处理好 2个点才走
又是卖的时候没看大局,被个股分时吸引,从而滋生侥幸心理
亏钱效应凸显
先空仓做防守了
一波行情做完最重要的是控制回撤
心态要谨慎
严防交易惯性带来的冲动性交易和随意单
又是卖的时候没看大局,被个股分时吸引,从而滋生侥幸心理
亏钱效应凸显
先空仓做防守了
一波行情做完最重要的是控制回撤
心态要谨慎
严防交易惯性带来的冲动性交易和随意单
2019-02-15 复盘
仓位保持。 感觉要回调,算我怕死吧。 不要跌回一点点就去抄底。 忍住手,莫伸手。









