楼主: TB33
2576 3

[源码分享] 期货资金管理策略/Perl爬虫研究代码 [推广有奖]

  • 0关注
  • 0粉丝

初中生

33%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0
学术水平
6 点
热心指数
6 点
信用等级
6 点
经验
102 点
帖子
10
精华
0
在线时间
3 小时
注册时间
2014-12-26
最后登录
2015-2-10

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

资金管理策略


资金管理策略应包含:建仓策略、加仓策略、补仓策略和多元化交易策略。
建仓策略:均额建仓、简单比例建仓和复合比例建仓;
加仓策略:等额加仓、金字塔式加仓以及菱形加仓。
多元化交易策略:不同品种、不同周期间的组合交易策略。

期货交易资金管理
    期货交易相当于一场无硝烟的战争,是一种金钱游戏,不会有人员的伤亡,但总会有人要失去的自己资金。期货交易与战争有许多相似之处,期货交易的资金管理有如运用有限的兵力去获得战争胜利的用兵之道。《孙子兵法》作战篇有句话,“不尽知用兵之害者,不能尽知用兵之利也”,在期货交易中不知道资金运用的利害关系,很容易在期货市场中受到致命的损失,而过早被市场淘汰。美国有一知名期货交易员说过,要想成为一名成功的期货交易员,在投资初期,首当其冲的是保全自己的资金,赚钱是第二位的!


成功交易的关键因素是什么?是寻找交易时机、准确入市;还是及时出局、落袋为安呢?这些是取得成功的因素,但不是关键性因素。期货交易中成功的关键之一是资金管理,资金管理在所有因素的重要性权重可以占到30%以上。


首先我们来了解一下资金管理的概念。资金管理是指期货交易过程中的资金配置,包括入市资金规模;组合管理,分散风险;头寸调整方法及策略;风险控制,止损设置。


接下来我们将分别讲述资金管理的几个方面。


1.          资金规模
     很多投资者进入期货市场之前,首先会问,我有多少资金才可以开始期货交易呢?中国证监会规定期货交易最低开户资金需要5万元人民币,这条规定不是强制执行的规定,很多期货公司并不能完全执行,而允许一些小额资金进入期货市场,但这些小资金大多数中要被市场消磨掉的。资金的不充分,本身就意味着在这个市场成功的概率很低。美国著名期货交易员斯坦利.克罗曾经讲过,在期货市场上要赚取一小笔财富,最确切的是先要拥有一大笔财富。


期货交易的资金规模关系到交易成功的概率,一般来说资金越大,交易成功的概率越大。美国人对进入期货市场的资金进行过非正式研究,根据进入期货市场资金的大小,统计一年后资金成功的概率,所谓成功该研究并没有给出标准,但我认为成功的标准是,资金帐户在一年后的最大损失不超过20%,或资金赢利超过5%以上。统计的结果可以看下表:


资金规模(美金)
一年后成功概率

5000
10%

10,000
20%

20,000
30%

50,000
50%

100,000
60%

为什么资金量越大越容易成功呢?我们很容易理解在战争中,投入的兵力越充分,取得胜利的可能性越大。期货市场是一个资金博弈的市场,大资金赢小资金是比较正常的。我们解释一下其中两个因素,首先期货交易是需要损耗的游戏,每笔交易不管我们是赚钱还是赔钱都必须交手续费。期货交易是需要成本的,投入太少,成本占总资金的比例过高,获利的能力减小。例如,一手铜的交易手续费近三百元,对1万元和对10万元资金的冲击是不一样的。即使方法很完美,资金管理很到位,还是会面对亏损交易,而这种亏损是你必然要面对的。投入资金的过少,还没等到你的方法发生作用时,你的帐户已经不允许你再交易了。

2.组合管理


期货交易的品种相对股票市场来说虽然不多,但同样可以采用组合管理方法进行投资以达到分散风险的目的。


期货交易的组合管理,根据资金规模及不同品种的风险特征,分配资金投资到不同品种,从而形成组合投资。


从系统交易的观点来看,我们并不能预测任何品种的行情,当交易信号出现时,我们需要在不同品种上进行投资,这样我们才能抓到行情,没有进场的行情对我们没有任何意义。这也意味着我们在交易中,在资金允许的情况下,可以同时参与几个品种的交易。


期货交易的组合管理要根据资金情况决定分散投资的程度,当资金量过小时,并不适合分散投资,往往集中投资能达到更好的效果。即使是资金量足够大,资金分散也不应过大。对于这一点在组合管理中应达到一种平衡,不将所有鸡蛋放到一个篮子里是分散风险的方法,但如果过度分散,篮子太多,反而达不到分散风险及利润最大化的目的。相反,将所有鸡蛋放入一个篮子里,看好这个篮子的效果也许更好。


按照现代组合管理理论,投资组合的各品种间的相关性越小,达到风险分散效果越明显。我们在相关品种的交易中,投入的资金不能过大,如果同时在相关性品种投人过大,一次承担的风险过大,相当于重仓交易了。相关性极高的品种应看作一个品种的来交易。比如农产品的大豆、豆粕,联动性非常强,当两个品种同时出现同方向的行情时,尽可能不要同时投入相同的资金,而应将它们当作一个品种对待。基金属、能源、贵金属等同类品种的交易同样要有这种思维。正确的做法是分别在不同类别的商品期货中分别下注,如果有金融期货的加入则分散风险的效果更佳了,因为金融期货与商品期货的相关性较小,甚至有负相关性。



3.头寸调整


头寸调整是资金管理中最重要的部分,可以说掌握了头寸调整的要领,则解决了交易的重要环节。


头寸调整:是指根据资金规模,在整个交易过程中,头寸大小变化,即任一时刻该持有多大的头寸。这涉及进场资金的大小或持仓头寸的大小。还涉及在整个交易过程中,头寸的增减策略,达到风险最小化,利润最大化的目的。


期货交易是风险投资,交易机制决定了期货交易的风险比较大。交易本身又非常简单,简单到和赌大小的赌博非常相似。但为什么很多的投资者在期货交易中都以失败告终?最重要的原因是他们冒的风险太大了。风险过度的产生来源于人性的弱点:贪婪、不能理解概率,或者在某些情况下、甚至于有想输的欲望。准确的说,他们亏损是因为他们所承受的风险太大。前面在资金规模这一节我们就已经谈过,仅仅因为资金规模太小,他们损失的概率就非常高。


一个资金只有5万元的交易员,他却要去交易铜这种品种。铜目前的平均波动超过每吨1000元,交易一手铜,意味着在不正确的情况下,一天之间会超过5000元的损失。这就意味着总资金的10%资金损失。而连续遇到不正确的情况是很常见的,只要5次不正确,损失资金就会超过50%。要用剩下的资金翻本,需要100%的获利,这是比较困难的。更可怕的是资金的过快、过大的损失对交易心理的破坏比对资金损失更具破坏性,很多投资者的信心被损失了要比资金的损失修复难得多。


还有些客户喜欢满仓操作,这意味着他在第二天必须正确,否则会发生很大的亏损。如果遇到极端行情,两天就会被市场淘汰出局。


接下来我们介绍正确的做法,头寸大小的确定和调整策略。


1)          头寸大小的确定


根据资金的大小及交易品种的风险特征确定每一次进场的头寸,这就保证了你进场的头寸在不同品种的风险基本是一致的,且限制在相对确切的范围内,而不会导致破坏性的风险,能继续在市场中生存而获利。


头寸确定的一个原因是它能使机会均等,对不同品种一视同仁,并且使资产组合中的所有组元都有相同的风险暴露。


头寸大小有很多种模型可以确定进场单位,以下简单介绍三种比较通用的头寸大小计算模型。


"         模型1:每固定金额一个单位:1手大豆/5000元


    我们可以根椐品种的波动特点,固定金额做一手合约。这种方法可以这么考虑,从一手合约的基本保证金来确定,比如说一手大豆目前的保证金大约是2000元一手。这意味着你的资金放大了10到15倍,同时价值波动也放大10到15倍。因为做一手合约交易,我们除了要交保证金外,还需要有一定的资金承担风险,所以可以在保证金的基础上加倍,这样的话我们可以主观确定一手大豆我们用5000元。这种模型确定头寸大小相对主观,甚至可能风险太大的情况下都持有头寸。另外,对单位头寸的衡量没有标准化,不同品种的进场头寸对帐户的风险暴露并没有达到一致。


"         模型2:风险百分比模型:50000×2%÷500=2手


风险百分比模型,首先我们的方法要确定一手合约的风险量,即进场后什么时候应止损。比如说一手大豆进场后,我们的方法只允许我们亏损500元,也就是每吨50元的亏损。这是我们确定的亏损。然后,我们必须确定对总体资金的风险百分比,假设我们的帐户资金有50000元,如果总体资金风险,我们确定为2%,则总体资金的风险确定在1000元。用总体风险1000元去除一手大豆合约风险500元。这样我们的标准单位就是2手。


风险百分比模型相对第一个模型是客观的,根据不同的资金和方法,风险的确定是不同的,这要和具体的交易方法配合,找到最合理的风险百分比。


"         模型3:波动性百分比模型:50000 ×2% ÷1000=1手


波动性是指任意时间段内某种金融工具的日常价格波动幅度。波动性本身不是风险,但可以作为衡量风险的标尺。


首先我们统计某时间段的合约波动性,比如说我们用统计的方法确定一手大豆前20天的平均波动性为1000元,同样我们总体资金的风险也确定为2%。则标准单位可以确定为1手。


用过去的平均波动来衡量风险相对比较客观,但有点必须明白的是,用过去的波动性并不能完全代表将来的风险。


2)头寸调整策略:


头寸大小确定了,我们还需要调整策略,头寸调整才能达到截断亏损,让利润奔跑的目的。任何交易方法,我们都要面对失败,也就是亏损的可能性,有时候我们会连续遇到亏损。遇到亏损的时候我们怎么办,遇到赢利的时候我们又怎么办?有两种比较常见的头寸调整策略。


1.等价鞅策略:在一次亏损交易中,在资本减小时会增加赌本的大小;这种策略意味着当前一次亏损时,后一次加倍进场交易。当连续亏损时,累积亏损比较大,这种策略相对来说对资金的要求比较高,同时对心理的冲击比较大。


2.反等价鞅策略:在资本增加时,增加赌本的大小。这种策略相对来说对人的心理冲击小得多,只有当前一次交易正确时,才加倍进场。这种策略的方法是在有赢利的情况下,才增加投入,以获取最大利润。


在上面两种基本策略的基础上我们会有多种调整方法,将头寸大小确定和调整策略结合起来,头寸调整才是完整的。在实际操作中,我们建议使用反等价鞅策略,比较常见的一种方法就是所谓金字塔加码。例如,我们在大豆期货交易时,当我们建立第一笔基础头寸10手大豆,当行情有利时,在允许加仓的时候加仓5手,当行情继续对我们有利的时候还可以再加仓2手。这样建立的仓位是一种典型的反等价鞅头寸调整方法,使得你的建仓成本重心比较稳定,不容易被市场随机波动触及而过早出场,同时持仓心态也会比较好。


    在头寸初始进场和调整中,我们还会面对两难的选择,比如在上涨行情中,我们是等价格回调时进场,还是价格创新高的时候进场呢?其实,这两种方法各有利弊,可以根据自己的习惯选择。当价格创新高或新低时再进场或加仓是保守型的,等待每一次行情回调或者反弹的时候进场或加码是一种进取型的。


4.风险控制


   止损获利是交易的黄金规则,不管用任何方法,风险控制都是不可缺少的。不管是放弃一个亏损头寸还是平仓获取利润,是市场赚钱的关键。“昔之善战者,先为不可胜,以待敌之可胜。不可胜在己,可胜在敌。故善战者,能为不可胜,不能使敌之可胜。故曰:胜可知,而不可为。”风险控制就是先为不可胜。


头寸调整比喻成汽车的油门的话,风险控制就相当于刹车。当然,头寸调整本身就是风险控制方法,就象油门是控制汽车行驶安全的重要手段。所以风险控制是一个综合的过程,除了头寸调整外,就是止损。不管任何方法,我们都会面对错误或失败的时候,这种时候怎么办?断臂求生存,这是鳄鱼原则。当鳄鱼咬住它的猎物时,猎物越是挣扎,越容易被鳄鱼吞噬。我们很多交易者都是因为不愿意承认自己的错误,及时采取止损措施,而很快被市场淘汰。


在实际交易中,止损的设置既是有科学又有主观成分,要达到有效需要实践检验和调整,止损设置方法有几类,客观止损法、主观止损法、综合法。止损方面的内容我们会有专门一期讲座介绍,在这里就不再细述。


对于风险控制,我们有一个心理测试作为这一期内容的结束:


(提问1)


"          A:确定可以获得80元;


"          B:以85%的概率可以获得100元,而以15%的概率什么也得不到。


(提问2)


"          C:确定要损失80元;


"          D:以85%的概率将会损失100元,而以15%的概率将会丝毫没有损失。


   从测试结果来看,大多数人在提问一中会选择A,在提问二中会选择D。这两个选择都是错误,但符合我们的天性。提问一是关于获利的,大多数人都会选择确切的收益,即使B选择的期望收益大于A。提问二是关于止损,当我们面对亏损时,这时候大多数人的心态又是反过来,却又喜欢不确定的亏损。即使D选择的期望亏损要大于C,很多人要去赌15%的概率会没有损失。


   在期货交易中,我们需要选择的是不确定的收益和确定的亏损。我们很多投资者知道正确答案,知道和做到是不同层面的。因为相对于期货交易是错误的选择,却是我们人性所固有。在交易中我们必须去克服这种我们人性固有的东西才能获得成功。这是期货交易非常有挑战性的一面,如果我们不同于常人,也就成为这个市场的赢家!




一个Perl爬虫研究代码


!/usr/bin/perl
use strict;
use warnings;
use threads;
use threads::shared;
use Thread::Queue;
use Thread::Semaphore;

use Bloom::Filter;
use URI::URL;
use Web::Scraper;

# 设置线程数量
my $max_threads = 15;

# 设置目标
my $base_url = $ARGV[0] || 'http://www.icylife.net';

# 这个没解释出来(P1)
my $host = URI::URL->new($base_url)->host;

# 建立一个线程队列
my $queue = Thread::Queue->new( );

# 创建信号量容器并锁定峰值
my $semaphore = Thread::Semaphore->new( $max_threads );

# 每次创建一个信号量
my $mutex = Thread::Semaphore->new( 1 );

# BS算法,用于测试URL是否重复
my $filter = shared_clone( Bloom::Filter->new(capacity => 1000, error_rate => 0.0001) );

# 将目标放入任务队列
$queue->enqueue( $base_url );

# 放入需要对比的第一个成员
$filter->add( $base_url );


while( 1 )
{
        # join all threads which can be joined
        #my $joined = 0;
        foreach ( threads->list(threads::joinable) )
        {
                #$joined ++;
                $_->join( );
        }
        #print $joined, " joined\n";

        # if there are no url need process.
        my $item = $queue->pending();
        if( $item == 0 )
        {
                my $active = threads->list(threads::running);
                # there are no active thread, we finish the job
                if( $active == 0 )
                {
                        print "All done!\n";
                        last;
                }
                # we will get some more url if there are some active threads, just wait for them
                else
                {
                        #print "[MAIN] 0 URL, but $active active thread\n";
                        sleep 1;
                        next;
                }
        }

        # if there are some url need process
        #print "[MAIN] $item URLn";
        $semaphore->down;
        #print "[MAIN]Create thread.n";
        threads->create( \&ProcessUrl );
}

# join all threads which can be joined
foreach ( threads->list() )
{
        $_->join( );
}

sub ProcessUrl
{
        my $scraper = scraper
        {
                process '//a', 'links[]' => '@href';
        };

        my $res;
        my $link;

        while( my $url = $queue->dequeue_nb() )
        {
                eval
                {
                        $res = $scraper->scrape( URI->new($url) )->{'links'};
                };
                if( $@ )
                {
                        warn "$@\n";
                        next;
                }
                next if (! defined $res );

                #print "there are ".scalar(threads->list(threads::running))." threads, ", $queue->pending(), " urls need process.\n";

                foreach( @{$res} )
                {
                        $link = $_->as_string;
                        $link = URI::URL->new($link, $url);

                        # not http and not https?
                        next if( $link->scheme ne 'http' && $link->scheme ne 'https' );
                        # another domain?
                        next if( $link->host ne $host );

                        $link = $link->abs->as_string;

                        if( $link =~ /(.*?)#(.*)/ )
                        {
                                $link = $1;
                        }

                        next if( $link =~ /.(jpg|png|bmp|mp3|wma|wmv|gz|zip|rar|iso|pdf|doc|js|css|docx|xls|xlsx)$/i );

                        $mutex->down();
                        if( ! $filter->check($link) )
                        {
                                print $filter->key_count(), " ", $link, "\n";
                                $filter->add($link);
                                $queue->enqueue($link);
                        }
                        $mutex->up();
                        undef $link;
                }
                undef $res;
        }
        undef $scraper;
        $semaphore->up( );
}




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:期货资金管理 Perl 资金管理 管理策略 Erl 金字塔 加仓 品种

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
fantuanxiaot + 10 + 5 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 10  论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

本帖被以下文库推荐

沙发
tttrrrtr 发表于 2015-2-10 15:50:06 |只看作者 |坛友微信交流群
谢谢分享               
已有 1 人评分论坛币 收起 理由
fantuanxiaot + 3 精彩帖子

总评分: 论坛币 + 3   查看全部评分

使用道具

藤椅
cchy2014 发表于 2015-2-10 16:29:48 |只看作者 |坛友微信交流群
为什么没有止损?减仓?的
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
fantuanxiaot + 2 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 2  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

板凳
fantuanxiaot 发表于 2015-2-10 20:08:32 |只看作者 |坛友微信交流群
cchy2014 发表于 2015-2-10 16:29
为什么没有止损?减仓?的
他的帖子我刚刚编辑了一下 确实水贴

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 07:06