来了来了终于来了弄懂了。原来这要有勇气才可以做到的。#45

金钱鳘又称黄唇鱼,目前已经接近濒危灭绝的状态。
赴日游客越来越多,国内游客成为黑心商家的肥肉。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
  我来说下什么叫对冲基金吧。
  Mike同学看到搞金融的都巨赚钱,也想创一个对冲基金玩玩,于是他去了高盛提出申请,高盛的Sam大叔说,好,想搞基没问题,我们这里没啥规矩,但得满足唯一一个条件,你得确保65%以上的投资者都得是有钱人,就算不是盖茨、焦不思之流,好歹也得身价百万,年入20W刀以上吧,否则搞个毛线,你无所谓穷人死活,美帝政府还在乎呢,这第一个特征,叫Accredited Investor。
  走出银行,Mike同学觉得世界都是美好滴,不过等等,钱呢?他找到了盖茨,盖茨说,你要我投你钱?你说得那么好听,自己投了多少钱进去?你自己都不敢投钱进自己的基金,我怎么相信你?Mike同学觉得在理,把心一横,拿出自己所有家底400万刀,投入自己的基金。盖茨一看,这熊孩子那么霸气,应该是有点真本事吧,那我不如也投个几百万玩玩吧。这第二个特征,叫Large Personal Stake。
  Mike再一想,光有这个超级富豪投资者钱还不够啊,隔壁星巴克端盘子的Jack倒是也想玩投资,这种拿着一万两万的平头老百姓要投我这基金,我受还是不受呢?不行,第一我这里人手也不够,一个个处理小客户要累死。第二为了这点小钱和那么多人打交道也太麻烦了,第三我还是想要大钱啊,几百万几百万的投我,我的基金才能迅速发展壮大。所以宁缺毋滥,还是针对有钱人吧,最低限,要投我基金的,100万刀起,少了我看不上。这第三个特征,叫High Minimum。
  好了,客户都招到了,基金规模4000万,Mike心里这个美啊,不过还是得防一手,有个投资者Kevin,臭名昭著,经常投资了以后过个礼拜就撤资逗别人玩,好歹也是几百万啊,我这在市场里来来回回倒腾,想要我亲命啊,所以定个规矩,投了我的基金,第一年你就别想取出来,是死是活全在我,这第四个特征,叫First Year Lock-In。
  光这还不够,一年以内安全了,一年以后呢?到时候客户想什么时候撤资什么时候撤资,Mike不是麻烦死?所以一年只有指定的几个日子可以撤资(也可能一年一度),到日子了提前给客户发个邮件提醒他们有这个事,撤资日到了啊,要撤资快撤资,过了这个村就没这个店了哟,有意向的提前告诉我们先。这第五个特征,叫Infrequent Redemption。
  钱的问题解决了,Mike想,好吧,总算开始投资玩了啊,作为一只“对冲鸡”,别以为这真的和对冲有什么必然联系,这只是历史遗留的命名问题,作为对冲基金,只是限制少多了,有自由用各种投资策略,什么Long/Short,Event Driven,Global Macro,Distressed Securities,要多刺激有多刺激,还有,我能投资股票,债券,CDS,众多稀奇古怪的衍生品,想怎么玩怎么玩。这第六个特征,叫Variety of Investments。(没人说对冲基金不能单纯买点股票搞价值投资,和公募一个路数哦。)
  最爽的部分来了,收钱!Mike同学累死累活(或者装得累死累活)搞投资,不就是为了最后的分红吗,如果赚钱了,我要在赚钱部分分20%,如果不赚钱,我也不能白干啊,这场地费,人工费,我的跑腿费辛苦费,好歹也得一年收个2%吧。这规则差不多算行规了,大部分对冲基金都有类似的收钱规矩。这第七个特征,叫 2 / 20 Gains。
  Mike看着别人家基金都动辄上亿,耐不住寂寞,就4000万规模的基金还不够别人塞牙缝的,于是去和银行的Sam大叔说,你借我点钱吧,我有个绝妙点子,保证赚大钱。Sam倒是个好说话的人,二话不说批了2亿刀给Mike,这个叫5:1的杠杆。于是乎,这第八个特征,叫Leverage。
  基本上,大部分对冲基金,都包含上述8个特征,符合这些情况的,就是对冲基金,而非字面上“采用对冲策略的基金”。
  最后讲一个大多数人的误解,觉得对冲基金这东西如何恐怖,比如金融危机的时候,新闻里动不动对冲基金导致股指大跌!这种耸动的结果一般是如何造成的呢,大部分情况主要是第五和第八特征共同作用导致的。
  一年就那么几个撤资日,遇上恐慌性时期,比如雷曼垮台啊,欧债危机啊,一到日子客户就集体撤资,对冲基金没办法只好短时间不计成本地平仓......考虑到对冲基金一般是高杠杆,你就明白这意味着什么了。
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
提供宏观经济、产业动态以及资本市场专业信息,为您提高收益、...
99614文章数
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:写了websocket个聊天室,然后终于弄懂了php的socket
原文网址:/p/1523
要理解socket就要先理解http和tcp的区别,简单说就是一个是短链,一个是长链,一个是去服务器拉数据,一个是服务器可以主动推数据。
而socket就是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。-来自网络。
那么如何用php+js做到服务器推呢?
客户端非常简单,利用现代浏览器的WebSocket API,这里介绍的很详细:/zh-cn/library/ie/hh673567
核心代码:
JAVASCRIPT
var wsServer = 'ws://127.0.0.1:8080';
var ws = new WebSocket(wsServer);
ws.onmessage = function (evt) {
前两行会向指定服务器发送一个握手请求,如果服务器返回合法的http头,则握手成功,之后可通过监听onmessage事件来处理服务器发来的消息。还有很多其他事件可监听,见前面的url。
难点是服务器,没有了apache和nginx这些http服务器在前面顶着,只用php该怎么写?
这里有个教程讲的很深入
写之前捋一捋思路:
1 监听:首先要挂起一个进程来监听来自客户端的请求2 握手:对于第一次合法的请求,发送合法的header回去3 保持连接:有新消息到了就广播出去。直到客户端断开4 接受另一个请求,重复2和3
关键代码如下:
public function start_server() {
$this-&socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
//允许使用本地地址
socket_set_option($this-&socket, SOL_SOCKET, SO_REUSEADDR, TRUE);
socket_bind($this-&socket, $this-&host, $this-&port);
//最多10个人连接,超过的客户端连接会返回WSAECONNREFUSED错误
socket_listen($this-&socket, $this-&maxuser);
while(TRUE) {
$this-&cycle = $this-&
$this-&cycle[] = $this-&
//阻塞用,有新连接时才会结束
socket_select($this-&cycle, $write, $except, null);
foreach ($this-&cycle as $k =& $v) {
if($v === $this-&socket) {
if (($accept = socket_accept($v)) & 0) {
//如果请求来自监听端口那个套接字,则创建一个新的套接字用于通信
$this-&add_accept($accept);
$index = array_search($v, $this-&accept);
if ($index === NULL) {
if (_recv($v, $data, 1024, 0)
!$data) {//没消息的socket就跳过
$this-&close($v);
if (!$this-&isHand[$index]) {
$this-&upgrade($v, $data, $index);
if(!empty($this-&function['add'])) {
call_user_func_array($this-&function['add'], array($this));
$data = $this-&decode($data);
if(!empty($this-&function['send'])) {
call_user_func_array($this-&function['send'], array($data, $index, $this));
//增加一个初次连接的用户
private function add_accept($accept) {
$this-&accept[] = $
$index = array_keys($this-&accept);
$index = end($index);
$this-&isHand[$index] = FALSE;
//关闭一个连接
private function close($accept) {
$index = array_search($accept, $this-&accept);
socket_close($accept);
unset($this-&accept[$index]);
unset($this-&isHand[$index]);
if(!empty($this-&function['close'])) {
call_user_func_array($this-&function['close'], array($this));
//响应升级协议
private function upgrade($accept, $data, $index) {
if (preg_match("/Sec-WebSocket-Key: (.*)\r\n/",$data,$match)) {
$key = base64_encode(sha1($match[1] . '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', true));
= "HTTP/1.1 101 Switching Protocol\r\n" .
"Upgrade: websocket\r\n" .
"Connection: Upgrade\r\n" .
"Sec-WebSocket-Accept: " . $key . "\r\n\r\n";
//必须以两个回车结尾
socket_write($accept, $upgrade, strlen($upgrade));
$this-&isHand[$index] = TRUE;
关键地方有那么几个,一是while(true)挂起进程,不然执行一次后进程就退出了。二是socket_select和socket_accept函数的使用。三是客户端第一次请求时握手。
socket_select
这个函数是同时接受多个连接的关键,我的理解它是为了阻塞程序继续往下执行和自动选择当前有活动的连接。
socket_select ($sockets, $write = NULL, $except = NULL, NULL);
$sockets可以理解为一个数组,这个数组中存放的是文件描述符。当它有变化(就是有新消息到或者有客户端连接/断开)时,socket_select函数才会返回,继续往下执行。$write是监听是否有客户端写数据,传入NULL是不关心是否有写变化。$except是$sockets里面要被排除的元素,传入NULL是&监听&全部。最后一个参数是超时时间如果为0:则立即结束如果为n&1: 则最多在n秒后结束,如遇某一个连接有新动态,则提前返回如果为null:如遇某一个连接有新动态,则返回
为了理解,dump测试一下:
$this-&cycle = $this-&
$this-&cycle[] = $this-&
var_dump($this-&cycle);//array(n),n&=1
socket_select($this-&cycle, $write, $except, null);//有活动后继续往下
var_dump($this-&cycle);//array(0),n==0
这一测就完全明白了,socket_select之前把所有的socket连接都丢进去给它,其中一个有活动时它就把那个连接抛出来给我们用。表达能力有限,大概就是这么个意思。。。
socket_accept
此函数接受唯一参数,即前面socket_create创建的socket文件(句柄)。返回一个新的资源,或者FALSE。本函数将会通知socket_listen(),将会传入一个连接的socket资源。一旦成功建立socket连接,将会返回一个新的socket资源,用于通信。如果有多个socket在队列中,那么将会先处理第一个。关键就是这里:如果没有socket连接,那么本函数将会等待,直到有新socket进来。
如果前面不用socket_select在没有socket的时候阻塞住程序,那么就卡在这里永远无法结束了。
后面的流程就很清晰了,当有一个新的客户端请求到达,用socket_accept创建一个资源,并加入到$this-&accept连接池里面。并将它的标示isHand设为false,那么下次循环(因为$this-&cycle[] = $this-&$this-&cycle有变化,所以socket_select会返回)的时候就会执行upgrade握手。然后等待它的新消息即可。
程序经调试可以成功运行,php5.3+websocket13。
有兴趣的同学可以下载:
更多相关文章
专业的点评还是靠得住的 日,赛门铁克对本年度重大网络威胁做了回顾,内容涉及到目前为止,赛门铁克认为2007年的网络安全大事记,以及对2008年度网络安全的展望. 在赛门铁克发布的2007报告上榜上有名的包括为数众多的数据泄密事件;与微软公司的Vista操作系统相关的安全问题;PDF文件,图像文件,以 ...
基本操作题(共18分) 1.在考生文件夹下打开数据库SCORE-MANAGER,该数据库中有3个表STUDENT.SCORE1和COURSE,根据已经建立好的索引,建立表问联系. 2.为COURSE表增加字段:开课学期(N,2,0). 3.为SCORE1表中的&成绩&字段设置字段 ...
微信平台自带的统计功能太简单,有时我们需要统计有哪些微信个人用户阅读.分享了微信公众号的手机网页,以及微信个人用户访问手机网页的来源:朋友圈分享访问.好友分享消息访问等.本系统实现了手机网页阅读.分享与来源统计及手机网页在朋友圈的传播路径分析. 本系统使用最传统的三层架构.本文是微统计的第三篇, ...
所谓大数据变革的最重要的意义不在于单纯数据量的增加,以至于要用分布式存储和分布式计算.也不在于数据源或数据种类的增加.它最重要的意义在于,人类越来越多的行为被通过电子化的方式记录下来.你的每一笔银行转账.购物.和朋友交谈.乘坐交通工具.给汽车加油.吃过的餐馆.读过的书.甚至睡眠时的心率和脑电波……都 ...
这两天在给博客做新的主题,一直在纠结是否要将博客园的博文迁到自己的博客下,这样做的唯一好处就是,大家可以直接在一个网站下进行life博文和tech博文的阅读 BUT,谈到技术博客的话,大部分的个人博客下面的技术博文的阅读量和博客论坛的阅读量数量级别相差太大了,所以在犹豫了一段时间后还是果断选择回了待 ...
一.选择题 1.在MySQL中,通常使用________语句来指定一个已有数据库作为当前工作数据库. A.USING B.USED C.USES D.USE 2.下列________类型不是MySQL中常用的的数据类型. A.INT B.VAR C.TIME D.CHAR 二.填空题 1.在MySQ ...
题目链接: Hdu 5358 First One 题目描述: 数组a有n个元素,S[i,j]定义为a[i]+a[i+1]+.....+a[j],问:这个死东西等于多少? 解题思路: 二分肯定超,这个题目的时间卡的炒鸡 ...
上一小节我们讲了使用select来避免使用多进程的资源浪费问题.上次只是实现了从多个客户端发送数据给服务器端,接下来就要实现从服务器端发送数据给各个客户端.
使用select多路转换处理聊天程序2 client. ...
易网科技讯 6月15日消息,罗仕证券(Roth Capital Partners)今日发布研究报告称,受新推出的两款网络游戏促进,畅游第二季度的销售额有望提升2%至6%,给予畅游&买入&评级,目标 ...
csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库
上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接获取.释放资 ...
vmware与virtualbox之对比分析
测试过程:本机安装双系统xp.ubuntu:在每个系统中安装两种虚拟机:每个虚拟机虚拟一个Windows 2003操作系统,并分配512M内存:virtual box ...
在这篇介绍几款Linux网络测试实用工具的文章中,我们使用Bandwidthd.Speedometer.Nethogs.Darkstat和iperf,跟踪带宽使用情况和网络速度.查找网络资源消耗大户,以及测试性能.
JDOM是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序.它的设计包含 Java 语言的语法乃至语义. JDOM是一个开源项目,它基于树型结构,利用纯JAVA ...
SVN简明课程
1. 版本控制介绍
1.1. 什么是版本控制
版本控制系统用于保存编写开发应用程序时的文档的各个修订版(revision). 版本控制也称作Revision Control Sys ...
现在看起来 iOS 6 的完美越狱的前景再次变得光明,下面应该是长久以来我们听到的最振奋人心的消息了吧!iOS黑客Planetbeing在推特上表示:我确实不知道前景不妙是什么意思.其实我的 iPhone 5 现在已 ...
viewpoint css3提供了一些与当前viewpoint相关的元素,vw,vh,vim等. “viewpoint” = window size vw = 1% of viewport width 1vh = 1 ...

我要回帖

更多关于 来了来了终于来了 的文章

 

随机推荐