2017-10-23 3 views
4

저는 퀀텀 (quantstrat)에 익숙하지 않아 본질적으로 볼링거 밴드 인 전략을 시뮬레이션하는 데 사용하고 싶습니다. 내 코드는 프리미엄(평균)을 넘을 때 열린 포지션을 닫으려고하지 않습니다.Quantstrat : 전략과 같은 맞춤 'bollinger band'를 다시 테스트하십시오.

전략 (신호/규칙)을 정의하는 ALGO 로직은 :

  • 개방 쇼트 위치 : 프리미엄 업 대역보다 크거나 같으면 다음 단락을 열고 시장 가격으로;
  • 닫기 개방 짧은 위치 : 프리미엄 후 (. 평균 교차)가 짧은 위치를 닫고 평균 저급거나 같으면;
  • 긴 오픈 위치 : 프리미엄 후 시장 가격 긴 위치를 열 내리는 대역보다 낮거나 동일한 경우;
  • 닫기 긴 개방 위치 '프리미엄'다음 (. 평균 교차) 긴 위치를 닫고 평균보다 크거나 같으면;

xts관찰 사용되는 모든 시리즈가 : 까지 Observed.Close, 프리미엄,내리는, 평균합니다. 관찰 데이터와 내 코드 아래

:

> Observed 
      Observed.Close  Premium  Up  Dwn   Avg 
2015-06-26   3.1293 1.965206103 2.0527059 -1.5056387 0.2735335950 
2015-06-29   3.1176 1.474362061 2.1247886 -1.4171072 0.3538407214 
2015-06-30   3.1030 1.011736997 2.1689062 -1.3967265 0.3860898669 
2015-07-01   3.1492 1.711709129 2.2667986 -1.3371877 0.4648054514 
2015-07-02   3.0967 0.481718930 2.2727613 -1.3274414 0.4726599480 
2015-07-03   3.1341 1.249455394 2.2682612 -1.3261065 0.4710773679 
2015-07-06   3.1376 0.642722112 2.2174802 -1.3210587 0.4482107662 
2015-07-07   3.1863 0.553009282 2.1123671 -1.2940353 0.4091659066 
2015-07-08   3.2353 1.115494115 2.1592003 -1.2834765 0.4378618993 
2015-07-09   3.2130 0.952882431 2.1922315 -1.2485792 0.4718261388 
2015-07-10   3.1599 0.665690890 2.2048896 -1.2356460 0.4846218201 
2015-07-13   3.1344 0.060862823 2.2047372 -1.2400712 0.4823329800 
2015-07-14   3.1393 0.321069026 2.2023548 -1.1986208 0.5018670111 
2015-07-15   3.1401 -0.236291845 2.1784579 -1.1417133 0.5183722920 
2015-07-16   3.1568 0.139251221 2.0806787 -0.9452963 0.5676911948 
2015-07-17   3.1881 0.620612235 1.9791898 -0.7194874 0.6298511901 
2015-07-20   3.1958 0.189529583 1.9001714 -0.5685196 0.6658259294 
2015-07-21   3.1716 -0.281733702 1.9072905 -0.5828426 0.6622239760 
2015-07-22   3.2231 0.377200258 1.9024721 -0.5963551 0.6530584968 
2015-07-23   3.2854 0.869682711 1.8167342 -0.3926226 0.7120558074 
2015-07-24   3.3554 0.763388365 1.8161428 -0.3930004 0.7115711720 
2015-07-27   3.3637 -0.149080328 1.8204624 -0.4690792 0.6756915849 
2015-07-28   3.3567 0.637889087 1.8201526 -0.4694712 0.6753407023 
2015-07-29   3.3314 -0.045153506 1.8164318 -0.4614529 0.6774894519 
2015-07-30   3.3713 1.862338163 1.9326375 -0.4607578 0.7359398900 
2015-07-31   3.4211 1.480222141 1.9896962 -0.4637566 0.7629698082 
2015-08-03   3.4508 0.495918663 1.9781690 -0.4800864 0.7490412905 
2015-08-04   3.4711 2.140586835 2.1054125 -0.5412551 0.7820787099 
2015-08-05   3.4851 2.187488885 2.2239655 -0.5971571 0.8134042173 
2015-08-06   3.5363 1.774638281 2.2836179 -0.6147908 0.8344135447 
2015-08-07   3.5071 0.149059477 2.1786688 -0.6309181 0.7738753238 
2015-08-10   3.4404 0.412479597 2.1236127 -0.6466542 0.7384792417 
2015-08-11   3.4745 0.527214988 2.1055755 -0.6609185 0.7223285080 
2015-08-12   3.4807 0.396682496 2.0145450 -0.6575564 0.6784942870 
2015-08-13   3.5187 1.064117266 2.0390422 -0.6432271 0.6979075648 
2015-08-14   3.4820 -0.247016300 2.0153374 -0.7192870 0.6480251750 
2015-08-17   3.4810 -1.184774093 2.1094473 -0.9352301 0.5871086349 
2015-08-18   3.4681 -1.212364308 2.1864729 -1.1299472 0.5282628485 
2015-08-19   3.4926 -2.540271699 2.3911950 -1.5783870 0.4064039880 
2015-08-20   3.4579 -1.968362932 2.4623598 -1.8443015 0.3090291426 
2015-08-21   3.4998 -1.885025633 2.5160255 -2.0680150 0.2240052585 
2015-08-24   3.5524 -1.918249920 2.5797446 -2.2636749 0.1580348337 
2015-08-25   3.6172 -0.073792880 2.5672080 -2.2774624 0.1448727701 
2015-08-26   3.5968 -0.654065425 2.5671136 -2.3052196 0.1309469841 
2015-08-27   3.5526 -0.610844638 2.5571085 -2.3452209 0.1059437888 
2015-08-28   3.5819 2.068485500 2.7023988 -2.3939864 0.1542062310 
2015-08-31   3.6198 3.276461295 3.0488630 -2.5346551 0.2571039547 
2015-09-01   3.6977 3.012968160 3.3252241 -2.5913694 0.3669273501 
2015-09-02   3.7609 1.319458889 3.3770219 -2.5803500 0.3983359711 
2015-09-03   3.7397 1.222954220 3.3992829 -2.5790596 0.4101116881 
2015-09-04   3.8430 1.388474585 3.4389640 -2.5770682 0.4309478954 
2015-09-07   3.8430 2.375363664 3.5963196 -2.5661276 0.5150960285 
2015-09-08   3.8203 1.260535328 3.6288627 -2.5571609 0.5358509032 
2015-09-09   3.7792 -0.913740775 3.6384359 -2.6246399 0.5068979942 
2015-09-10   3.8499 -1.208280022 3.5534391 -2.7443510 0.4045440547 
2015-09-11   3.8735 0.304095228 3.4879948 -2.7573152 0.3653398243 
2015-09-14   3.8156 -0.824477698 3.4734482 -2.8307950 0.3213266123 
2015-09-15   3.8625 1.928794976 3.4504366 -2.8219029 0.3142668836 
2015-09-16   3.8286 2.441458663 3.4811182 -2.8356531 0.3227325429 
2015-09-17   3.8986 3.571472359 3.7181269 -2.9528729 0.3826270121 
2015-09-18   3.9446 3.297716378 3.9868045 -3.0116400 0.4875822422 
2015-09-21   3.9851 2.407020170 4.1224922 -3.0143584 0.5540669280 
2015-09-22   4.0504 2.445625463 4.2525916 -3.0165638 0.6180139438 
2015-09-23   4.1790 1.414947088 4.2969844 -2.9930722 0.6519560969 
2015-09-24   3.9370 0.142556643 4.2674254 -3.0249506 0.6212374095 
2015-09-25   3.9765 0.543916266 4.2792205 -2.9840168 0.6476018283 
2015-09-28   4.1106 1.102622777 4.2917663 -2.8440695 0.7238483906 
2015-09-29   4.0608 3.146668217 4.4657099 -2.7274110 0.8691494748 
2015-09-30   3.9471 1.002501203 4.3453160 -2.3708322 0.9872419049 
2015-10-01   4.0098 0.207299529 4.2431416 -2.1236136 1.0597639869 
2015-10-02   3.9325 0.257836640 4.1320883 -1.8697028 1.1311927293 
2015-10-05   3.9115 -0.259679877 4.0108231 -1.6378663 1.1864783975 
2015-10-06   3.8548 -0.229135670 4.0157575 -1.6531568 1.1813003044 
2015-10-07   3.8857 -1.008262382 4.0383275 -1.6993401 1.1694937392 
2015-10-08   3.7840 -0.827853080 4.0506966 -1.7261764 1.1622601245 
2015-10-09   3.7662 -1.549022902 4.0721157 -1.9887627 1.0416765111 
2015-10-12   3.7662 -1.182302729 3.9072692 -2.1211672 0.8930510436 
2015-10-13   3.8931 -0.151540748 3.7150419 -2.1399071 0.7875674134 
2015-10-14   3.8126 -1.394567527 3.7226588 -2.3284591 0.6970998662 
2015-10-15   3.7994 -0.765332852 3.6955723 -2.4339250 0.6308236304 
2015-10-16   3.9253 1.755707483 3.7232303 -2.4371008 0.6430647271 
2015-10-19   3.8864 -0.005412208 3.5812295 -2.4538185 0.5637055313 
2015-10-20   3.9053 1.240222611 3.5799145 -2.4538576 0.5630284407 
2015-10-21   3.9399 0.481642094 3.5747994 -2.3557170 0.6095412030 
2015-10-22   3.9070 0.595954568 3.5544745 -2.2151098 0.6696823560 
2015-10-23   3.8771 -0.696022671 3.5614526 -2.2887624 0.6363450928 
2015-10-26   3.9067 -0.097939430 3.5474039 -2.2262779 0.6605630350 
2015-10-27   3.8884 -0.179690333 3.4519132 -2.2713528 0.5902801914 
2015-10-28   3.9048 1.082021586 3.3272540 -2.2373228 0.5449656222 
2015-10-29   3.8489 -0.227289592 2.9665999 -2.1299195 0.4183402238 
2015-10-30   3.8568 0.272833919 2.6220541 -1.9870325 0.3175108085 
2015-11-02   3.8568 0.300689669 2.4125588 -1.9179592 0.2472997918 
2015-11-03   3.7694 -1.042205419 2.1792576 -1.9171801 0.1310387624 
2015-11-04   3.8009 -0.700582164 2.0711547 -1.9501124 0.0605211207 
2015-11-05   3.7802 -1.534101153 2.0973647 -2.0880996 0.0046325274 
2015-11-06   3.7692 -1.330570385 2.0797085 -2.1954092 -0.0578503609 
2015-11-09   3.7993 -0.612073064 1.9855301 -2.2155439 -0.1150068889 
2015-11-10   3.7476 -1.570361354 1.4982723 -2.0427547 -0.2722412080 
2015-11-11   3.7609 -0.918237575 1.3816348 -2.0541665 -0.3362658339 
2015-11-12   3.7710 -0.360032867 1.3504101 -2.0607640 -0.3551769137 
2015-11-13   3.8494 0.843071163 1.4118037 -2.0831419 -0.3356690963 
2015-11-16   3.8190 -0.015521438 1.4236770 -2.0787380 -0.3275304817 
2015-11-17   3.8138 -0.178323100 1.4258628 -2.0775363 -0.3258367293 
2015-11-18   3.7648 -1.143696894 1.4293059 -2.0900083 -0.3303512130 
2015-11-19   3.7177 -1.970379298 1.4828464 -2.2197173 -0.3684354203 
2015-11-20   3.7080 -1.981097208 1.5126446 -2.2783204 -0.3828378971 
2015-11-23   3.7323 -1.167446302 1.5122831 -2.2769685 -0.3823426829 
2015-11-24   3.6990 -0.878883592 1.4944213 -2.3075962 -0.4065874444 
2015-11-25   3.7450 -0.525190572 1.4872415 -2.2424579 -0.3776082126 
2015-11-26   3.7430 -1.572016300 1.5061858 -2.3151811 -0.4044976608 
2015-11-27   3.8467 0.413647231 1.3089202 -2.2073862 -0.4492330026 
2015-11-30   3.8685 -0.446457318 1.2862198 -2.2140888 -0.4639345063 
2015-12-01   3.8500 -0.700495892 1.1001380 -2.1573883 -0.5286251230 
2015-12-02   3.8366 -0.420377493 1.0255951 -2.1429800 -0.5586924426 
2015-12-03   3.7592 -2.162425617 0.9759674 -2.2772443 -0.6506384488 
2015-12-04   3.7524 -1.897908529 0.9985287 -2.3799313 -0.6907013108 
2015-12-07   3.7680 -0.268156500 0.9857446 -2.3784951 -0.6963752131 
2015-12-08   3.7950 0.555521511 1.0620267 -2.4057630 -0.6718681516 
2015-12-09   3.7502 -0.023184365 0.9144126 -2.3318293 -0.7087083500 
2015-12-10   3.8134 0.280148176 0.9623660 -2.3459535 -0.6917937577 
2015-12-11   3.8739 1.567306950 1.1690821 -2.4663714 -0.6486446567 
2015-12-14   3.8733 -0.730348778 1.0990804 -2.4651056 -0.6830126049 
2015-12-15   3.8710 0.857622984 1.2428005 -2.4821705 -0.6196849915 
2015-12-16   3.8816 -1.199396846 1.2380302 -2.5106545 -0.6363121475 
2015-12-17   3.8776 0.698808726 1.3420427 -2.4658063 -0.5618818182 
2015-12-18   3.9833 1.647828074 1.5809573 -2.5061611 -0.4626018696 
2015-12-21   4.0112 1.467803100 1.7670880 -2.5536334 -0.3932726642 
2015-12-22   3.9886 1.320477177 1.9037072 -2.4975299 -0.2969113798 
2015-12-23   3.9412 1.515472405 2.0679174 -2.4994928 -0.2157877138 
2015-12-24   3.9420 1.716289282 2.2424613 -2.5356152 -0.1465769755 
2015-12-25   3.9420 1.688648523 2.3379650 -2.5747472 -0.1183910635 
2015-12-28   3.8594 -0.997041641 2.3256400 -2.6278568 -0.1511084036 
2015-12-29   3.8649 0.188089543 2.3409104 -2.6186997 -0.1388946488 
2015-12-30   3.9582 2.046467674 2.5407912 -2.6059028 -0.0325558299 
2015-12-31   3.9640 2.582933285 2.7559608 -2.5175183 0.1192212562 
2016-01-01   3.9640 2.121572573 2.8674074 -2.3554536 0.2559769155 
2016-01-04   4.0391 2.152289688 3.0096318 -2.2763622 0.3666347819 
2016-01-05   4.0084 0.971572282 3.0371844 -2.1805511 0.4283166444 
2016-01-06   4.0295 1.853863615 3.1410698 -2.1258329 0.5076184506 
2016-01-07   4.0441 1.363761742 3.1353008 -1.9243454 0.6054777187 
2016-01-08   4.0248 0.890529765 3.1522020 -1.9094544 0.6213738032 
2016-01-11   4.0534 -0.078758449 3.1465578 -1.8792969 0.6336304322 
2016-01-12   4.0280 -1.184617382 3.1717497 -1.9367636 0.6174930492 
2016-01-13   4.0152 -1.383070217 3.2166435 -2.0458369 0.5854032917 
2016-01-14   3.9997 -0.606174520 3.1003405 -1.8257838 0.6372783283 
2016-01-15   4.0483 -0.481316516 2.9961055 -1.6271094 0.6844980621 
2016-01-18   4.0333 -0.880923406 3.0208986 -1.6927537 0.6640724986 
2016-01-19   4.0643 -0.447985905 3.0220549 -1.7608104 0.6306222513 
2016-01-20   4.0975 -0.728037769 3.0386534 -1.8243991 0.6071271379 
2016-01-21   4.1548 0.286489957 3.0387483 -1.8240712 0.6073385306 
2016-01-22   4.0934 -0.520269076 2.9749615 -1.8994562 0.5377526630 
2016-01-25   4.0892 -0.620436957 2.9710559 -1.8882231 0.5414163904 
2016-01-26   4.0514 -1.272880026 2.9848601 -2.0440609 0.4703996234 
2016-01-27   4.1104 0.529935516 2.9621082 -1.9060201 0.5280440354 
2016-01-28   4.0695 -0.365788116 2.9472741 -1.9621591 0.4925574740 
2016-01-29   3.9991 -0.888213736 2.8727627 -2.0567172 0.4080227471 
2016-02-01   3.9646 -0.318356773 2.7935068 -2.0965386 0.3484840846 
2016-02-02   3.9910 -0.051768597 2.7237469 -2.1182617 0.3027425588 
2016-02-03   3.8960 -1.151537473 2.6464162 -2.2187317 0.2138422296 
2016-02-04   3.8899 -1.307516034 2.5385930 -2.3124955 0.1130487190 
2016-02-05   3.9066 -1.256526416 2.4148118 -2.3850593 0.0148762211 
2016-02-08   3.9066 -1.476647149 2.4328659 -2.4350872 -0.0011106292 
2016-02-09   3.9066 -1.692138415 2.4456920 -2.5732618 -0.0637848945 
2016-02-10   3.9295 -1.081713189 2.2363498 -2.5724650 -0.1680575899 
2016-02-11   3.9925 0.316242386 1.9349288 -2.4221567 -0.2436139532 
2016-02-12   4.0017 0.804481727 1.7417660 -2.3168000 -0.2875169814 
2016-02-15   3.9973 0.596191436 1.5027630 -2.1815368 -0.3393869232 
2016-02-16   4.0680 1.653877540 1.6075031 -2.2407900 -0.3166434146 
2016-02-17   3.9895 -0.543827126 1.3450478 -2.1381807 -0.3965664393 
2016-02-18   4.0294 0.704174652 1.2460574 -2.0831628 -0.4185526757 
2016-02-19   4.0219 0.375323631 1.1829967 -2.0544492 -0.4357262135 
2016-02-22   3.9459 -1.349452836 1.1682534 -2.1244187 -0.4780826930 
2016-02-23   3.9586 -1.076238560 1.1659155 -2.1148556 -0.4744700656 
2016-02-24   3.9577 -0.197325598 1.1716429 -2.0415333 -0.4349452450 
2016-02-25   3.9565 -0.357598879 1.1788381 -2.0321569 -0.4266593903 
2016-02-26   4.0007 -0.053616639 1.1986726 -2.0234781 -0.4124027277 
2016-02-29   4.0163 0.173727893 1.2375459 -1.9920413 -0.3772476844 
2016-03-01   3.9335 -2.093237169 1.3001281 -2.1643069 -0.4320893932 
2016-03-02   3.8945 -2.571784512 1.4049666 -2.3920618 -0.4935476180 
2016-03-03   3.7984 -3.290751806 1.5181302 -2.7437082 -0.6127890101 
2016-03-04   3.7516 -3.126932239 1.6198580 -3.0192136 -0.6996777821 
2016-03-07   3.7850 -2.557596088 1.6519965 -3.1804960 -0.7642497532 
2016-03-08   3.7545 -0.586914375 1.6679179 -3.1506863 -0.7413842315 
2016-03-09   3.6885 -3.361097208 1.6703319 -3.4125025 -0.8710853223 
2016-03-10   3.6271 -2.079012644 1.6430604 -3.4994460 -0.9281928066 
2016-03-11   3.5855 -0.526200873 1.6592984 -3.4915498 -0.9161257111 
2016-03-14   3.6617 -1.163611935 1.6225427 -3.5111445 -0.9443008832 
2016-03-15   3.7674 0.203375949 1.6449376 -3.5165298 -0.9357960650 
2016-03-16   3.7422 -0.123362083 1.6946173 -3.4976644 -0.9015235520 
2016-03-17   3.6276 -1.615663900 1.6934150 -3.5170053 -0.9117951476 
2016-03-18   3.6248 -2.154775060 1.7002553 -3.5837288 -0.9417367690 
2016-03-21   3.6182 -2.382728840 1.7156783 -3.6595573 -0.9719394920 
2016-03-22   3.5803 -2.011436432 1.7193276 -3.6844931 -0.9825827593 
2016-03-23   3.6854 -1.039122091 1.7205765 -3.6829026 -0.9811630560 
2016-03-24   3.6771 -0.850682876 1.6376283 -3.6777495 -1.0200605647 
2016-03-25   3.6771 -0.499577480 1.5120661 -3.6391245 -1.0635292049 
2016-03-28   3.6280 -0.903713591 1.3858570 -3.6129091 -1.1135260391 
2016-03-29   3.6383 -0.869539387 1.0760140 -3.4712939 -1.1976399367 
2016-03-30   3.6065 -2.522360424 1.0460833 -3.5732654 -1.2635910466 
2016-03-31   3.5928 -2.489158382 0.8572505 -3.5973214 -1.3700354811 

코드 :

library(quantstrat) 
library(quantmod) 
library(TTR) 
library(PerformanceAnalytics) 
library(tidyverse) 
library(xts) 
library(zoo) 

###################################### Initial Setup ###################################### 

initDate <- '2015-06-28' 
from <- '2015-06-29' 
to <- '2016-03-31' 

currency('USD') 
Sys.setenv(TZ = 'UTC') 
symbols <- "Observed" 

stock(symbols, currency = 'USD', multiplier = 1) 

Observed <- merge(DfDygraphPredictionObservedComps$Observed, DfDygraphPremium) %>% na.exclude(.) 
Observed <- xts(x = Observed, order.by = as.POSIXct(index(Observed))) 
Observed <- Observed[2451:nrow(Observed),] 
colnames(Observed) <- c("Observed.Close","Premium","Up","Dwn","Avg") 

###################################### Initial Setup Backtest ############################### 

strat.name <- "FactorModelBT" 
portfolio.st <- "FactorModelBT" 
account.st <- "FactorModelBT" 

rm.strat(strat.name) 
rm.strat(portfolio.st) 

initPortf(portfolio.st, 
      symbols = symbols, 
      initDate = initDate, 
      currency = 'USD') 

initAcct(account.st, 
     portfolios = portfolio.st, 
     initDate = initDate, 
     currency = 'USD') 

initOrders(portfolio.st, 
      initDate = initDate) 

strategy(strat.name, store = TRUE) 

###################################### Signals ############################################## 

# Open Short 

add.signal(strat.name, 
      name = "sigCrossover", 
      arguments = list(columns = c("Premium", "Up"), relationship = "gt"), 
      label = "Premium.gt.Upper.Band") 

# Close Short 

add.signal(strat.name, 
      name = "sigCrossover", 
      arguments = list(columns = c("Premium", "Avg"), relationship = "lte"), 
      label = "Premium.lte.Avg") 

# Open Long 

add.signal(strat.name, 
      name = "sigCrossover", 
      arguments = list(columns = c("Premium", "Dwn"), relationship = "lt"), 
      label = "Premium.lt.Lower.Band") 

# Close Long 

add.signal(strat.name, 
      name = "sigCrossover", 
      arguments = list(columns = c("Premium", "Avg"), relationship = "gte"), 
      label = "Premium.gte.Avg") 

tmp <- applySignals(strategy = strat.name, mktdata = Observed) 

################################ Trading Rules - Actions ################################### 

# Open short Position 

add.rule(strat.name, 
     name = "ruleSignal", 
     arguments = list(sigcol = "Premium.gt.Upper.Band", 
          sigval = TRUE, 
          orderqty = -1000, 
          ordertype = "market", 
          orderside = NULL, 
          threshold = NULL), 
     type = "enter", 
     label = "OpenShort", 
     path.dep = TRUE) 

# Close short Position 

add.rule(strat.name, 
     name = "ruleSignal", 
     arguments = list(sigcol = "Premium.lte.Avg", 
          sigval = TRUE, 
          orderqty = "all", 
          ordertype = "market", 
          orderside = "short", 
          replace = TRUE), 
     type = "exit", 
     label = "CloseShort", 
     path.dep = TRUE) 

# Open Long Position 

add.rule(strat.name, 
     name = "ruleSignal", 
     arguments = list(sigcol = "Premium.lt.Lower.Band", 
          sigval = TRUE, 
          orderqty = 1000, 
          ordertype = "market", 
          orderside = NULL, 
          threshold = NULL), 
     type = "enter", 
     label = "OpenLong", 
     path.dep = TRUE) 

# Close Long Position 

add.rule(strat.name, 
     name = "ruleSignal", 
     arguments = list(sigcol = "Premium.gte.Avg", 
          sigval = TRUE, 
          orderqty = "all", 
          ordertype = "market", 
          orderside = "long", 
          replace = TRUE), 
     type = "exit", 
     label = "CloseLong", 
     path.dep = TRUE) 

################################ Apply Strategy ############################ 

out <- applyStrategy(strategy = strat.name, portfolios = portfolio.st) 

#set up analytics 

updatePortf(portfolio.st) 

dateRange <- time(getPortfolio(portfolio.st)$summary)[-1] 

updateAcct(portfolio.st,dateRange) 

updateEndEq(account.st) 

chart.Posn(portfolio.st, 'Observed') 

어떤 도움이 좋을 것입니다! :)

답변

2

코드/전략에는 아무런 문제가 없습니다. 참가 규칙에 "long"또는 "short"로 orderside을 우수 사례/가독성으로 지정할 수 있습니다.

체크로는 getOrderBook(portfolio.st)을 참조하십시오. 여기에는 긴 위치와 짧은 위치가 모두 입력/종료 되었음이 표시됩니다.

업데이트 : 만 길거나 짧은 위치가 주어진 시간에 열 수

완벽하게 재현 예 - 기존 위치로 추가 거래없이 스태킹.

library(quantstrat) 
library(quantmod) 
library(TTR) 
library(PerformanceAnalytics) 
library(tidyverse) 
library(xts) 
library(zoo) 

###################################### Initial Setup ###################################### 

initDate <- '2015-06-28' 
from <- '2015-06-29' 
to <- '2016-03-31' 

currency('USD') 
Sys.setenv(TZ = 'UTC') 
symbols <- "Observed" 

stock(symbols, currency = 'USD', multiplier = 1) 


x <- read.table(text = "Observed.Close  Premium  Up  Dwn   Avg 
2015-06-26   3.1293 1.965206103 2.0527059 -1.5056387 0.2735335950 
       2015-06-29   3.1176 1.474362061 2.1247886 -1.4171072 0.3538407214 
       2015-06-30   3.1030 1.011736997 2.1689062 -1.3967265 0.3860898669 
       2015-07-01   3.1492 1.711709129 2.2667986 -1.3371877 0.4648054514 
       2015-07-02   3.0967 0.481718930 2.2727613 -1.3274414 0.4726599480 
       2015-07-03   3.1341 1.249455394 2.2682612 -1.3261065 0.4710773679 
       2015-07-06   3.1376 0.642722112 2.2174802 -1.3210587 0.4482107662 
       2015-07-07   3.1863 0.553009282 2.1123671 -1.2940353 0.4091659066 
       2015-07-08   3.2353 1.115494115 2.1592003 -1.2834765 0.4378618993 
       2015-07-09   3.2130 0.952882431 2.1922315 -1.2485792 0.4718261388 
       2015-07-10   3.1599 0.665690890 2.2048896 -1.2356460 0.4846218201 
       2015-07-13   3.1344 0.060862823 2.2047372 -1.2400712 0.4823329800 
       2015-07-14   3.1393 0.321069026 2.2023548 -1.1986208 0.5018670111 
       2015-07-15   3.1401 -0.236291845 2.1784579 -1.1417133 0.5183722920 
       2015-07-16   3.1568 0.139251221 2.0806787 -0.9452963 0.5676911948 
       2015-07-17   3.1881 0.620612235 1.9791898 -0.7194874 0.6298511901 
       2015-07-20   3.1958 0.189529583 1.9001714 -0.5685196 0.6658259294 
       2015-07-21   3.1716 -0.281733702 1.9072905 -0.5828426 0.6622239760 
       2015-07-22   3.2231 0.377200258 1.9024721 -0.5963551 0.6530584968 
       2015-07-23   3.2854 0.869682711 1.8167342 -0.3926226 0.7120558074 
       2015-07-24   3.3554 0.763388365 1.8161428 -0.3930004 0.7115711720 
       2015-07-27   3.3637 -0.149080328 1.8204624 -0.4690792 0.6756915849 
       2015-07-28   3.3567 0.637889087 1.8201526 -0.4694712 0.6753407023 
       2015-07-29   3.3314 -0.045153506 1.8164318 -0.4614529 0.6774894519 
       2015-07-30   3.3713 1.862338163 1.9326375 -0.4607578 0.7359398900 
       2015-07-31   3.4211 1.480222141 1.9896962 -0.4637566 0.7629698082 
       2015-08-03   3.4508 0.495918663 1.9781690 -0.4800864 0.7490412905 
       2015-08-04   3.4711 2.140586835 2.1054125 -0.5412551 0.7820787099 
       2015-08-05   3.4851 2.187488885 2.2239655 -0.5971571 0.8134042173 
       2015-08-06   3.5363 1.774638281 2.2836179 -0.6147908 0.8344135447 
       2015-08-07   3.5071 0.149059477 2.1786688 -0.6309181 0.7738753238 
       2015-08-10   3.4404 0.412479597 2.1236127 -0.6466542 0.7384792417 
       2015-08-11   3.4745 0.527214988 2.1055755 -0.6609185 0.7223285080 
       2015-08-12   3.4807 0.396682496 2.0145450 -0.6575564 0.6784942870 
       2015-08-13   3.5187 1.064117266 2.0390422 -0.6432271 0.6979075648 
       2015-08-14   3.4820 -0.247016300 2.0153374 -0.7192870 0.6480251750 
       2015-08-17   3.4810 -1.184774093 2.1094473 -0.9352301 0.5871086349 
       2015-08-18   3.4681 -1.212364308 2.1864729 -1.1299472 0.5282628485 
       2015-08-19   3.4926 -2.540271699 2.3911950 -1.5783870 0.4064039880 
       2015-08-20   3.4579 -1.968362932 2.4623598 -1.8443015 0.3090291426 
       2015-08-21   3.4998 -1.885025633 2.5160255 -2.0680150 0.2240052585 
       2015-08-24   3.5524 -1.918249920 2.5797446 -2.2636749 0.1580348337 
       2015-08-25   3.6172 -0.073792880 2.5672080 -2.2774624 0.1448727701 
       2015-08-26   3.5968 -0.654065425 2.5671136 -2.3052196 0.1309469841 
       2015-08-27   3.5526 -0.610844638 2.5571085 -2.3452209 0.1059437888 
       2015-08-28   3.5819 2.068485500 2.7023988 -2.3939864 0.1542062310 
       2015-08-31   3.6198 3.276461295 3.0488630 -2.5346551 0.2571039547 
       2015-09-01   3.6977 3.012968160 3.3252241 -2.5913694 0.3669273501 
       2015-09-02   3.7609 1.319458889 3.3770219 -2.5803500 0.3983359711 
       2015-09-03   3.7397 1.222954220 3.3992829 -2.5790596 0.4101116881 
       2015-09-04   3.8430 1.388474585 3.4389640 -2.5770682 0.4309478954 
       2015-09-07   3.8430 2.375363664 3.5963196 -2.5661276 0.5150960285 
       2015-09-08   3.8203 1.260535328 3.6288627 -2.5571609 0.5358509032 
       2015-09-09   3.7792 -0.913740775 3.6384359 -2.6246399 0.5068979942 
       2015-09-10   3.8499 -1.208280022 3.5534391 -2.7443510 0.4045440547 
       2015-09-11   3.8735 0.304095228 3.4879948 -2.7573152 0.3653398243 
       2015-09-14   3.8156 -0.824477698 3.4734482 -2.8307950 0.3213266123 
       2015-09-15   3.8625 1.928794976 3.4504366 -2.8219029 0.3142668836 
       2015-09-16   3.8286 2.441458663 3.4811182 -2.8356531 0.3227325429 
       2015-09-17   3.8986 3.571472359 3.7181269 -2.9528729 0.3826270121 
       2015-09-18   3.9446 3.297716378 3.9868045 -3.0116400 0.4875822422 
       2015-09-21   3.9851 2.407020170 4.1224922 -3.0143584 0.5540669280 
       2015-09-22   4.0504 2.445625463 4.2525916 -3.0165638 0.6180139438 
       2015-09-23   4.1790 1.414947088 4.2969844 -2.9930722 0.6519560969 
       2015-09-24   3.9370 0.142556643 4.2674254 -3.0249506 0.6212374095 
       2015-09-25   3.9765 0.543916266 4.2792205 -2.9840168 0.6476018283 
       2015-09-28   4.1106 1.102622777 4.2917663 -2.8440695 0.7238483906 
       2015-09-29   4.0608 3.146668217 4.4657099 -2.7274110 0.8691494748 
       2015-09-30   3.9471 1.002501203 4.3453160 -2.3708322 0.9872419049 
       2015-10-01   4.0098 0.207299529 4.2431416 -2.1236136 1.0597639869 
       2015-10-02   3.9325 0.257836640 4.1320883 -1.8697028 1.1311927293 
       2015-10-05   3.9115 -0.259679877 4.0108231 -1.6378663 1.1864783975 
       2015-10-06   3.8548 -0.229135670 4.0157575 -1.6531568 1.1813003044 
       2015-10-07   3.8857 -1.008262382 4.0383275 -1.6993401 1.1694937392 
       2015-10-08   3.7840 -0.827853080 4.0506966 -1.7261764 1.1622601245 
       2015-10-09   3.7662 -1.549022902 4.0721157 -1.9887627 1.0416765111 
       2015-10-12   3.7662 -1.182302729 3.9072692 -2.1211672 0.8930510436 
       2015-10-13   3.8931 -0.151540748 3.7150419 -2.1399071 0.7875674134 
       2015-10-14   3.8126 -1.394567527 3.7226588 -2.3284591 0.6970998662 
       2015-10-15   3.7994 -0.765332852 3.6955723 -2.4339250 0.6308236304 
       2015-10-16   3.9253 1.755707483 3.7232303 -2.4371008 0.6430647271 
       2015-10-19   3.8864 -0.005412208 3.5812295 -2.4538185 0.5637055313 
       2015-10-20   3.9053 1.240222611 3.5799145 -2.4538576 0.5630284407 
       2015-10-21   3.9399 0.481642094 3.5747994 -2.3557170 0.6095412030 
       2015-10-22   3.9070 0.595954568 3.5544745 -2.2151098 0.6696823560 
       2015-10-23   3.8771 -0.696022671 3.5614526 -2.2887624 0.6363450928 
       2015-10-26   3.9067 -0.097939430 3.5474039 -2.2262779 0.6605630350 
       2015-10-27   3.8884 -0.179690333 3.4519132 -2.2713528 0.5902801914 
       2015-10-28   3.9048 1.082021586 3.3272540 -2.2373228 0.5449656222 
       2015-10-29   3.8489 -0.227289592 2.9665999 -2.1299195 0.4183402238 
       2015-10-30   3.8568 0.272833919 2.6220541 -1.9870325 0.3175108085 
       2015-11-02   3.8568 0.300689669 2.4125588 -1.9179592 0.2472997918 
       2015-11-03   3.7694 -1.042205419 2.1792576 -1.9171801 0.1310387624 
       2015-11-04   3.8009 -0.700582164 2.0711547 -1.9501124 0.0605211207 
       2015-11-05   3.7802 -1.534101153 2.0973647 -2.0880996 0.0046325274 
       2015-11-06   3.7692 -1.330570385 2.0797085 -2.1954092 -0.0578503609 
       2015-11-09   3.7993 -0.612073064 1.9855301 -2.2155439 -0.1150068889 
       2015-11-10   3.7476 -1.570361354 1.4982723 -2.0427547 -0.2722412080 
       2015-11-11   3.7609 -0.918237575 1.3816348 -2.0541665 -0.3362658339 
       2015-11-12   3.7710 -0.360032867 1.3504101 -2.0607640 -0.3551769137 
       2015-11-13   3.8494 0.843071163 1.4118037 -2.0831419 -0.3356690963 
       2015-11-16   3.8190 -0.015521438 1.4236770 -2.0787380 -0.3275304817 
       2015-11-17   3.8138 -0.178323100 1.4258628 -2.0775363 -0.3258367293 
       2015-11-18   3.7648 -1.143696894 1.4293059 -2.0900083 -0.3303512130 
       2015-11-19   3.7177 -1.970379298 1.4828464 -2.2197173 -0.3684354203 
       2015-11-20   3.7080 -1.981097208 1.5126446 -2.2783204 -0.3828378971 
       2015-11-23   3.7323 -1.167446302 1.5122831 -2.2769685 -0.3823426829 
       2015-11-24   3.6990 -0.878883592 1.4944213 -2.3075962 -0.4065874444 
       2015-11-25   3.7450 -0.525190572 1.4872415 -2.2424579 -0.3776082126 
       2015-11-26   3.7430 -1.572016300 1.5061858 -2.3151811 -0.4044976608 
       2015-11-27   3.8467 0.413647231 1.3089202 -2.2073862 -0.4492330026 
       2015-11-30   3.8685 -0.446457318 1.2862198 -2.2140888 -0.4639345063 
       2015-12-01   3.8500 -0.700495892 1.1001380 -2.1573883 -0.5286251230 
       2015-12-02   3.8366 -0.420377493 1.0255951 -2.1429800 -0.5586924426 
       2015-12-03   3.7592 -2.162425617 0.9759674 -2.2772443 -0.6506384488 
       2015-12-04   3.7524 -1.897908529 0.9985287 -2.3799313 -0.6907013108 
       2015-12-07   3.7680 -0.268156500 0.9857446 -2.3784951 -0.6963752131 
       2015-12-08   3.7950 0.555521511 1.0620267 -2.4057630 -0.6718681516 
       2015-12-09   3.7502 -0.023184365 0.9144126 -2.3318293 -0.7087083500 
       2015-12-10   3.8134 0.280148176 0.9623660 -2.3459535 -0.6917937577 
       2015-12-11   3.8739 1.567306950 1.1690821 -2.4663714 -0.6486446567 
       2015-12-14   3.8733 -0.730348778 1.0990804 -2.4651056 -0.6830126049 
       2015-12-15   3.8710 0.857622984 1.2428005 -2.4821705 -0.6196849915 
       2015-12-16   3.8816 -1.199396846 1.2380302 -2.5106545 -0.6363121475 
       2015-12-17   3.8776 0.698808726 1.3420427 -2.4658063 -0.5618818182 
       2015-12-18   3.9833 1.647828074 1.5809573 -2.5061611 -0.4626018696 
       2015-12-21   4.0112 1.467803100 1.7670880 -2.5536334 -0.3932726642 
       2015-12-22   3.9886 1.320477177 1.9037072 -2.4975299 -0.2969113798 
       2015-12-23   3.9412 1.515472405 2.0679174 -2.4994928 -0.2157877138 
       2015-12-24   3.9420 1.716289282 2.2424613 -2.5356152 -0.1465769755 
       2015-12-25   3.9420 1.688648523 2.3379650 -2.5747472 -0.1183910635 
       2015-12-28   3.8594 -0.997041641 2.3256400 -2.6278568 -0.1511084036 
       2015-12-29   3.8649 0.188089543 2.3409104 -2.6186997 -0.1388946488 
       2015-12-30   3.9582 2.046467674 2.5407912 -2.6059028 -0.0325558299 
       2015-12-31   3.9640 2.582933285 2.7559608 -2.5175183 0.1192212562 
       2016-01-01   3.9640 2.121572573 2.8674074 -2.3554536 0.2559769155 
       2016-01-04   4.0391 2.152289688 3.0096318 -2.2763622 0.3666347819 
       2016-01-05   4.0084 0.971572282 3.0371844 -2.1805511 0.4283166444 
       2016-01-06   4.0295 1.853863615 3.1410698 -2.1258329 0.5076184506 
       2016-01-07   4.0441 1.363761742 3.1353008 -1.9243454 0.6054777187 
       2016-01-08   4.0248 0.890529765 3.1522020 -1.9094544 0.6213738032 
       2016-01-11   4.0534 -0.078758449 3.1465578 -1.8792969 0.6336304322 
       2016-01-12   4.0280 -1.184617382 3.1717497 -1.9367636 0.6174930492 
       2016-01-13   4.0152 -1.383070217 3.2166435 -2.0458369 0.5854032917 
       2016-01-14   3.9997 -0.606174520 3.1003405 -1.8257838 0.6372783283 
       2016-01-15   4.0483 -0.481316516 2.9961055 -1.6271094 0.6844980621 
       2016-01-18   4.0333 -0.880923406 3.0208986 -1.6927537 0.6640724986 
       2016-01-19   4.0643 -0.447985905 3.0220549 -1.7608104 0.6306222513 
       2016-01-20   4.0975 -0.728037769 3.0386534 -1.8243991 0.6071271379 
       2016-01-21   4.1548 0.286489957 3.0387483 -1.8240712 0.6073385306 
       2016-01-22   4.0934 -0.520269076 2.9749615 -1.8994562 0.5377526630 
       2016-01-25   4.0892 -0.620436957 2.9710559 -1.8882231 0.5414163904 
       2016-01-26   4.0514 -1.272880026 2.9848601 -2.0440609 0.4703996234 
       2016-01-27   4.1104 0.529935516 2.9621082 -1.9060201 0.5280440354 
       2016-01-28   4.0695 -0.365788116 2.9472741 -1.9621591 0.4925574740 
       2016-01-29   3.9991 -0.888213736 2.8727627 -2.0567172 0.4080227471 
       2016-02-01   3.9646 -0.318356773 2.7935068 -2.0965386 0.3484840846 
       2016-02-02   3.9910 -0.051768597 2.7237469 -2.1182617 0.3027425588 
       2016-02-03   3.8960 -1.151537473 2.6464162 -2.2187317 0.2138422296 
       2016-02-04   3.8899 -1.307516034 2.5385930 -2.3124955 0.1130487190 
       2016-02-05   3.9066 -1.256526416 2.4148118 -2.3850593 0.0148762211 
       2016-02-08   3.9066 -1.476647149 2.4328659 -2.4350872 -0.0011106292 
       2016-02-09   3.9066 -1.692138415 2.4456920 -2.5732618 -0.0637848945 
       2016-02-10   3.9295 -1.081713189 2.2363498 -2.5724650 -0.1680575899 
       2016-02-11   3.9925 0.316242386 1.9349288 -2.4221567 -0.2436139532 
       2016-02-12   4.0017 0.804481727 1.7417660 -2.3168000 -0.2875169814 
       2016-02-15   3.9973 0.596191436 1.5027630 -2.1815368 -0.3393869232 
       2016-02-16   4.0680 1.653877540 1.6075031 -2.2407900 -0.3166434146 
       2016-02-17   3.9895 -0.543827126 1.3450478 -2.1381807 -0.3965664393 
       2016-02-18   4.0294 0.704174652 1.2460574 -2.0831628 -0.4185526757 
       2016-02-19   4.0219 0.375323631 1.1829967 -2.0544492 -0.4357262135 
       2016-02-22   3.9459 -1.349452836 1.1682534 -2.1244187 -0.4780826930 
       2016-02-23   3.9586 -1.076238560 1.1659155 -2.1148556 -0.4744700656 
       2016-02-24   3.9577 -0.197325598 1.1716429 -2.0415333 -0.4349452450 
       2016-02-25   3.9565 -0.357598879 1.1788381 -2.0321569 -0.4266593903 
       2016-02-26   4.0007 -0.053616639 1.1986726 -2.0234781 -0.4124027277 
       2016-02-29   4.0163 0.173727893 1.2375459 -1.9920413 -0.3772476844 
       2016-03-01   3.9335 -2.093237169 1.3001281 -2.1643069 -0.4320893932 
       2016-03-02   3.8945 -2.571784512 1.4049666 -2.3920618 -0.4935476180 
       2016-03-03   3.7984 -3.290751806 1.5181302 -2.7437082 -0.6127890101 
       2016-03-04   3.7516 -3.126932239 1.6198580 -3.0192136 -0.6996777821 
       2016-03-07   3.7850 -2.557596088 1.6519965 -3.1804960 -0.7642497532 
       2016-03-08   3.7545 -0.586914375 1.6679179 -3.1506863 -0.7413842315 
       2016-03-09   3.6885 -3.361097208 1.6703319 -3.4125025 -0.8710853223 
       2016-03-10   3.6271 -2.079012644 1.6430604 -3.4994460 -0.9281928066 
       2016-03-11   3.5855 -0.526200873 1.6592984 -3.4915498 -0.9161257111 
       2016-03-14   3.6617 -1.163611935 1.6225427 -3.5111445 -0.9443008832 
       2016-03-15   3.7674 0.203375949 1.6449376 -3.5165298 -0.9357960650 
       2016-03-16   3.7422 -0.123362083 1.6946173 -3.4976644 -0.9015235520 
       2016-03-17   3.6276 -1.615663900 1.6934150 -3.5170053 -0.9117951476 
       2016-03-18   3.6248 -2.154775060 1.7002553 -3.5837288 -0.9417367690 
       2016-03-21   3.6182 -2.382728840 1.7156783 -3.6595573 -0.9719394920 
       2016-03-22   3.5803 -2.011436432 1.7193276 -3.6844931 -0.9825827593 
       2016-03-23   3.6854 -1.039122091 1.7205765 -3.6829026 -0.9811630560 
       2016-03-24   3.6771 -0.850682876 1.6376283 -3.6777495 -1.0200605647 
       2016-03-25   3.6771 -0.499577480 1.5120661 -3.6391245 -1.0635292049 
       2016-03-28   3.6280 -0.903713591 1.3858570 -3.6129091 -1.1135260391 
       2016-03-29   3.6383 -0.869539387 1.0760140 -3.4712939 -1.1976399367 
       2016-03-30   3.6065 -2.522360424 1.0460833 -3.5732654 -1.2635910466 
       2016-03-31   3.5928 -2.489158382 0.8572505 -3.5973214 -1.3700354811") 

Observed <- as.xts(x, dateFormat = "Date") 


strat.name <- "FactorModelBT" 
portfolio.st <- "FactorModelBT" 
account.st <- "FactorModelBT" 

rm.strat(strat.name) 
rm.strat(portfolio.st) 

initPortf(portfolio.st, 
      symbols = symbols, 
      initDate = initDate, 
      currency = 'USD') 

initAcct(account.st, 
     portfolios = portfolio.st, 
     initDate = initDate, 
     currency = 'USD') 

initOrders(portfolio.st, 
      initDate = initDate) 

strategy(strat.name, store = TRUE) 

###################################### Signals ############################################## 

# Add position constraints for all symbols traded 
for (sym in symbols) 
    addPosLimit(portfolio.st, sym, start(Observed), 30) 

# Open Short 

add.signal(strat.name, 
      name = "sigCrossover", 
      arguments = list(columns = c("Premium", "Up"), relationship = "gt"), 
      label = "Premium.gt.Upper.Band") 

# Close Short 

add.signal(strat.name, 
      name = "sigCrossover", 
      arguments = list(columns = c("Premium", "Avg"), relationship = "lte"), 
      label = "Premium.lte.Avg") 

# Open Long 

add.signal(strat.name, 
      name = "sigCrossover", 
      arguments = list(columns = c("Premium", "Dwn"), relationship = "lt"), 
      label = "Premium.lt.Lower.Band") 

# Close Long 

add.signal(strat.name, 
      name = "sigCrossover", 
      arguments = list(columns = c("Premium", "Avg"), relationship = "gte"), 
      label = "Premium.gte.Avg") 

tmp <- applySignals(strategy = strat.name, mktdata = Observed) 

################################ Trading Rules - Actions ################################### 

# Open short Position 

add.rule(strat.name, 
     name = "ruleSignal", 
     arguments = list(sigcol = "Premium.gt.Upper.Band", 
          sigval = TRUE, 
          orderqty = -1000, 
          ordertype = "market", 
          orderside = NULL, 
          osFUN = osMaxPos, # Add position sizing function here 
          threshold = NULL), 
     type = "enter", 
     label = "OpenShort", 
     path.dep = TRUE) 

# Close short Position 

add.rule(strat.name, 
     name = "ruleSignal", 
     arguments = list(sigcol = "Premium.lte.Avg", 
          sigval = TRUE, 
          orderqty = "all", 
          ordertype = "market", 
          orderside = "short", 
          replace = TRUE), 
     type = "exit", 
     label = "CloseShort", 
     path.dep = TRUE) 

# Open Long Position 

add.rule(strat.name, 
     name = "ruleSignal", 
     arguments = list(sigcol = "Premium.lt.Lower.Band", 
          sigval = TRUE, 
          orderqty = 1000, 
          ordertype = "market", 
          orderside = NULL, 
          osFUN = osMaxPos, # Add position sizing function here 
          threshold = NULL), 
     type = "enter", 
     label = "OpenLong", 
     path.dep = TRUE) 

# Close Long Position 

add.rule(strat.name, 
     name = "ruleSignal", 
     arguments = list(sigcol = "Premium.gte.Avg", 
          sigval = TRUE, 
          orderqty = "all", 
          ordertype = "market", 
          orderside = "long", 
          replace = TRUE), 
     type = "exit", 
     label = "CloseLong", 
     path.dep = TRUE) 

################################ Apply Strategy ############################ 

out <- applyStrategy(strategy = strat.name, portfolios = portfolio.st) 

#set up analytics 

updatePortf(portfolio.st) 

dateRange <- time(getPortfolio(portfolio.st)$summary)[-1] 

updateAcct(portfolio.st,dateRange) 

updateEndEq(account.st) 

chart.Posn(portfolio.st, 'Observed') 
+0

시간과 시험에 감사드립니다. 나는이 코드에서 일해 왔고 몇 가지 변화를 가했다.당신이 코드가 작동하지만 내가 원하는 것을하고 있지 않다는 것을 알았던 것처럼 ... 'chart.Posn'을 체크하면 일정 기간 동안 위치가 있어야하는 것보다 큼을 알 수 있습니다. ('피라미드'위치이지만 최대/최소 위치는 동일하고 고정 된 크기 일 수 있음). 'Premium'이 'Up'/ 'Dwn'밴드를 가로 지르고 'Avg'를 교차 할 때 열린 위치를 닫으면 algo를 나타내는 이데아는 길게/짧게 이동합니다. 이 첫 번째 코드에서 몇 가지 사항을 변경했지만 제대로 작동하는지 아직 확실하지 않습니다. 다시 Tks! –

+1

@JoseFilho 귀하는 귀하의 질문에 명확하게 대답하지 않았습니다. 언제든지 어느 방향 으로든 고정 된 위치 수량 만 열려면'addPosLimit'을 사용할 수 있으며 위치를 쌓을 레벨을 설정할 수도 있습니다. 최대 위치 크기를 +30 또는 -30 단위로 제한하는 변경 사항을 반영하도록 위 코드를 업데이트했습니다 (따라서 각 1,000 거래 qty는 30에서 제한 할 것입니다). 긴 신호가 추가로 발사되고 이미 긴 위치가 열려있는 경우 추가 위치 변경 (참조 할 때 "피라미드 처리")이 수행되지 않습니다. – FXQuantTrader

관련 문제