楼主: Chemist_MZ
7250 13

[程序化交易] A Paper for High Frequency Trading [推广有奖]

贵宾

已卖:619份资源

学术权威

1%

还不是VIP/贵宾

-

TA的文库  其他...

金融工程文库

威望
1
论坛币
10198 个
通用积分
74.4217
学术水平
466 点
热心指数
454 点
信用等级
391 点
经验
68380 点
帖子
1915
精华
0
在线时间
7646 小时
注册时间
2009-10-18
最后登录
2025-4-25

楼主
Chemist_MZ 在职认证  发表于 2013-8-30 20:34:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
玄霄已经讲得很好了,我多说无益,写篇帖子祝贺新版块开版。

This paper introduces a new trading strategy in which the trader plays a role as a dealer in the market. The strategy provides an algorithm calculating the optimal bid and ask price to be placed in accordance with maximizing the utility function of the trader. Unlike the traditional trading strategies such as buy low and sell high, this strategy gives a new view that trading can be made by continuously placing bid and ask price calculated by maximizing the trader's utility, holding a dynamic inventory of the asset traded and cumulates the profit. Just as the dealer does. Actually this is one of the main trading strategy for high frequency trading.

best,
High-frequency_trading_in_a_limit_order_book.pdf.zip (403.46 KB) 本附件包括:
  • High-frequency_trading_in_a_limit_order_book.pdf

二维码

扫码加我 拉你入群

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

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

关键词:Frequency Trading rading DING freq accordance function provides holding dealer

已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
玄霄 + 100 + 2 + 2 + 2 奖励积极上传好的资料

总评分: 经验 + 100  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

本帖被以下文库推荐

扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

沙发
玄霄 发表于 2013-8-30 21:13:11
辛苦了!
之前我有考虑在金融工程版 每周专设一次某一topic的paper阅读,类似semina,实在是自己太忙了,无暇打点。
下一步,咱们或可考虑先鼓励坛友们发该领域的文献阅读,就是先从 简单的 上传一片paper,再讲一下自己的大致理解这样。
[color=Blue]Live like you never lived before ,love like you never get hurt[/color].

藤椅
Chemist_MZ 在职认证  发表于 2013-8-30 21:27:10
玄霄 发表于 2013-8-30 21:13
辛苦了!
之前我有考虑在金融工程版 每周专设一次某一topic的paper阅读,类似semina,实在是自己太忙了,无 ...
不客气
ok,我支持这种做法,但是我觉得需要有足够奖励才行,一般愿意来讨论分享的都不缺乏论坛币之类的,所以他们没有这个incentive我觉得。

这种又要花时间又要自觉的东西我觉得很少有人愿意来做。所以得想一个什么法子。


扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

板凳
ecoexp 发表于 2013-8-30 23:06:19
支持免费,支持楼主!

报纸
edwinli 发表于 2013-8-31 00:27:16
xiexie

地板
gs_trader 发表于 2013-9-4 13:29:19
http://www.finance-concepts.com/ ... requencyTrading.pdf
i believe this is the paper posted, in case you wanna download directly from the source.
it's a paper by Marco, who is definitely an expert in this field.
that said, most HFT market makers use way more than this inventory constraint for trading.
已有 1 人评分经验 论坛币 热心指数 收起 理由
Chemist_MZ + 10 + 10 + 1 鼓励积极发帖讨论

总评分: 经验 + 10  论坛币 + 10  热心指数 + 1   查看全部评分

7
Chemist_MZ 在职认证  发表于 2013-9-4 19:38:35
gs_trader 发表于 2013-9-4 13:29
http://www.finance-concepts.com/images/fc/HighFrequencyTrading.pdf
i believe this is the pap ...
first thanks for the link

second, who knows what people actually use in HFT. This paper is only an intro otherwise the author will not bother to write it down if it is useless although in practice it is far beyond this paper says.

just share a resource. You can also share the paper you think better which is widely applied in the industry.

best,



扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

8
luckyart 发表于 2013-9-5 22:31:35
这倒是一篇不错的论文。 我很早就看过,只是没有讨论的环境,也没有怎么搞懂。

事实上Irene Aldridge 的书"High-Frequency Trading: A Practical Guide
to Algorithmic Strategies and Trading Systems" 中也有介绍,还给出示例程序。

人大经济论坛中有数量功底的人应该有很多,有机会确实应该找一些高端的论文做做seminar之类的。
这也是这个板块区别于市场上其他板块的特色之一吧。   市场上挂着“量化”的各种论坛、群实在是太多了,但感觉都没干货。 希望这里借助人大经济论坛在学术上的深厚积累办出特色。  祝贺!


/*
PLEASE READ THIS IMPORTANT DISCLAIMER
This code is distributed AS IS, and is
not subject to any warranty, performance
guarantees, etc.  

It is intended strictly for educational
purposes to illustrate the concepts
presented in Irene Aldridge's book:
"High-Frequency Trading: A Practical Guide
to Algorithmic Strategies and Trading Systems".

Any commercial distribution of the code is
strictly prohibited.  
*/


void HFT_AvellanedaStoikov()
{
        FILE* fin, *fout;
        double lambda_a, lambda_b, d_lambda_a, d_lambda_b;
        int hh = 0, mm = 0, ss, nb = 0, na = 0, prevnb = 0, prevna = 0, prevm = 0;
        double bid, ask, prevbid = 0, prevask = 0;
        char * p1, *p2, buffer[1024], fname[512];
        double gamma = 0.01;
        double optbid = 0;
        double optask = 0;
        char action;
        double portfolio = 0;
        int position = 0;
        double bids[100] = {0}, asks[100] = {0};

        sprintf(fname, "C:/AvellanedaStoikov2008_WFC_InputData.txt"); //download this file from hftradingbook.com
        fin = fopen(fname, "r");
        if(fin)
        {
                sprintf(fname, "C:/AvellanedaStoikov2008_output.txt");
                fout = fopen(fname, "w");
                if(fout)
                {
                        //for each event, find the before and after window
                        while(fgets(buffer, 1024, fin))
                        {
                                bid = 0;
                                ask = 0;
                                sscanf(buffer, "%d\t%d\t%lf\t%lf\n", &hh, &mm, &bid, &ask);
                               
                                if(prevm != mm)
                                {
                                        if((nb-prevnb != 0) & (nb != 0) & (prevnb != 0))
                                                optbid = bid- (1/gamma)*log(1-gamma*(((double)nb)/(double)(nb-prevnb)/prevnb));
                                        if((na-prevna != 0) & (na != 0) & (prevna != 0))
                                                optask = ask- (1/gamma)*log(1-gamma*(((double)na)/(double)(na-prevna)/prevna));

                                        if((optbid > 0) & (optask > 0) & (bid > 0) & (ask > 0))
                                        {
                                                if(hh > 15)
                                                {
                                                        if(position != 0)
                                                        {
                                                                action = 'L';
                                                                //liquidate
                                                                if(position > 0)
                                                                {
                                                                        portfolio += position*bid;
                                                                        position = 0;
                                                                }
                                                                else if(position < 0)
                                                                {
                                                                        portfolio -= position*ask;
                                                                        position = 0;
                                                                }
                                                        }
                                                }
                                                else
                                                {
                                                        if(optbid > ask)
                                                        {
                                                                //if(position <= 3)
                                                                {
                                                                        action = 'B';
                                                                        portfolio -= ask;
                                                                        position++;
                                                                }
                                                                //else action = 'N';
                                                        }
                                                        else if(optask < bid)
                                                        {
                                                                //if(position >= -3)
                                                                {
                                                                        action = 'A';
                                                                        portfolio += bid;
                                                                        position--;
                                                                }
                                                                //else action = 'N';
                                                        }
                                                        else
                                                        {
                                                                //between bid and ask
                                                                //if closer to bid, buy
                                                                //else sell
                                                                if(fabs(bid-optbid) < fabs(ask-optask))
                                                                {
                                                                        action = 'B';
                                                                        portfolio -= ask;
                                                                        position++;
                                                                }
                                                                else if(fabs(bid-optbid) > fabs(ask-optask))
                                                                {
                                                                        action = 'A';
                                                                        portfolio += bid;
                                                                        position--;
                                                                }
                                                        }
                                                }
                                                //output

                                                if((na != 0) & (nb != 0) & (prevna != 0) & (prevnb != 0))
                                                        fprintf(fout, "%02d\t%02d\t%lf\t%lf\t%lf\t%lf\t%lf\t%lf\t%lf\t%lf\t%lf\t%c\t%lf\t%d\n",
                                                                hh, mm, bid, ask, (bid+ask)/2, (1/(double)nb), (1/(double)na),
                                                                (double)(nb-prevnb)/prevnb, (double)(na-prevna)/prevna, round(optbid, 2), round(optask, 2),
                                                                action, portfolio, position);
                                        }
                                        prevm = mm;
                                        prevna = na;
                                        prevnb = nb;
                                        na = 0;
                                        nb = 0;
                                }

                                if((prevbid > 0) & (prevask > 0))
                                {
                                        if(bid != prevbid)
                                        {
                                                nb++;
                                        }
                                        if(ask != prevask)
                                        {
                                                na++;
                                        }
                                }
                                prevbid = bid;
                                prevask = ask;
                        }
                        fclose(fout);
                }
                fclose(fin);
        }
}
已有 1 人评分经验 论坛币 热心指数 收起 理由
Chemist_MZ + 10 + 10 + 1 鼓励积极发帖讨论

总评分: 经验 + 10  论坛币 + 10  热心指数 + 1   查看全部评分

9
Chemist_MZ 在职认证  发表于 2013-9-5 22:54:36
luckyart 发表于 2013-9-5 22:31
这倒是一篇不错的论文。 我很早就看过,只是没有讨论的环境,也没有怎么搞懂。

事实上Irene Aldridge 的 ...
谢谢参与讨论,我不是搞交易的这篇是别人给我叫我看懂了跟他说的,加上论坛开了这个新版块我作为版主就发个贴道贺一下。

best,

扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

10
luckyart 发表于 2013-9-5 23:07:50
Chemist_MZ 发表于 2013-9-5 22:54
谢谢参与讨论,我不是搞交易的这篇是别人给我叫我看懂了跟他说的,加上论坛开了这个新版块我作为版主就发 ...
那楼主看懂了吗,是否可以分享下呢。   
我这里还有文章作者在一次会议上关于这篇文章的ppt,供大家参考。
欢迎讨论。 可以预见做市商模型在中国很快就用用武之地。
stoikov.pdf (1.8 MB)
已有 1 人评分经验 论坛币 热心指数 收起 理由
Chemist_MZ + 20 + 20 + 1 鼓励积极发帖讨论

总评分: 经验 + 20  论坛币 + 20  热心指数 + 1   查看全部评分

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

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2025-12-5 22:31