-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathNEWS
1088 lines (746 loc) · 33 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
v2.10-2 (2025-01-09; not yet released)
o French: support more datasets
o ....
v2.10-1 (2024-11-03)
o an example was removed from the manual page of 'NS'
v2.10-0 (2024-10-20)
o fix bug in bracketing introduced in version 2.9-0
o 'French' supports more datasets:
"F-F_Research_Data_5_Factors_2x3_daily_CSV.zip", and
"market" with frequency "monthly"
o 'French' gains an argument "return.class": supported are
"data.frame" (the current behaviour) and "zoo", which
can easily be transformed to "xts"
o 'Shiller' tries to fetch data from new URL at
https://shillerdata.com/
v2.9-0 (2023-12-29)
o new function 'approxBondReturn', for approximating the
total return of a (par) bond through its current yield,
duration and convexity, as described in Swinkels (2019;
https://doi.org/10.3390/data4030091)
o 'bracketing' better handles cases when 'fun' evaluates to
exactly zero, matching the MATLAB implementation in the
NMOF book
v2.8-0 (2023-10-20)
o 'callHestoncf' gains an argument 'uniroot.control', which
allows passing settings for 'uniroot' (to compute implied
vol), and 'uniroot.info'; both arguments work the same way
as in functions 'vanillaOptionImpliedVol' and 'callCF'
o 'trackingPortfolio' now has an argument 'ls.algo', for
specifying settings for method 'ls'
o new function 'minMAD' for computing minimum-MAD
portfolios, as described in Konno and Yamazaki
(1991; https://doi.org/10.1287/mnsc.37.5.519 )
o 'vanillaOptionEuropean' also provides "DvegaDspot" and
"DvegaDvol"
o 'Ritter' has been adapted to new file format
o all functions that allow parallel programming now support
argument 'affinity.list'
o the package now depends on R >= 3.5 (which was released
in 2018)
o the manual has been updated:
http://enricoschumann.net/NMOF.htm#NMOFmanual
v2.7-1 (2022-10-20)
o various minor documentation updates
o manual has been updated:
http://enricoschumann.net/NMOF.htm#NMOFmanual
o there is an additional public repository at
https://git.sr.ht/~enricoschumann/NMOF
v2.7-0 (2022-08-19)
o function 'gbm' gains an argument "antithetic": if
TRUE, paths are created based on antithetic variates
o functions 'gbm' and 'gbb' gain an argument
'exp.result', with default TRUE. If FALSE, the log
paths are returned. Function 'gbb' gets an argument
'log', with default FALSE, which matches the
previous behaviour
o new function 'barrierOptionEuropean', for computing
theoretical prices for various barrier-option types
o function 'French' tries harder to evaluate to NULL
when a download fails
o function vanillaOptionAmerican now works for very
small values for M (M <= 3)
v2.6-0 (2022-01-26)
o function 'randomReturns' gains an argument "exact":
if TRUE, the created matrix has the exact specified
column means (up to numerical, but not sampling accuracy)
o group constraints now work with only a single group
(e.g. in functions 'minCVaR' or 'minvar')
v2.5-0 (2021-10-20)
o new function 'Ritter', which downloads IPO data
provided by Jay Ritter
o 'gridSearch' now can handle arbitrary lists (before,
only lists of numeric vectors were supported)
o 'French': improve formatting of (some) datasets
v2.4-1 (2021-04-09)
o the default value for option 'printBar' in all
optimisation routines is now 'interactive()', so
progress bars remain shown in interactive sessions,
but are suppressed otherwise. (For the old
behaviour, set 'printBar' to TRUE.)
v2.4-0 (2021-04-01)
o fixed: 'minCVaR' no longer ignores minimum and
maximum holding constraints; thanks to Peter Garnry
for reporting on GitHub. Group constraints are
supported, too. See
https://github.com/enricoschumann/NMOF/issues/3 .
o 'randomReturns': argument 'rho' may now be a
correlation matrix
o 'callHestoncf' gains a '...' argument, for passing
settings to integrate
o 'French' supports more datasets
v2.3-1 (2021-01-19)
o 'minCVaR' gains an argument 'min.return' for
specifying a minimum required return (and another
argument 'm' for specifying expected returns)
o 'Shiller' includes additional columns, such as bond
returns
v2.2-0 (2020-10-20)
o New function 'minCVaR' for computing minimum CVaR
portfolios, as described in Rockafellar/Uryasev
(2000; http://doi.org/10.21314/JOR.2000.038 ).
For details on implementation, see
http://enricoschumann.net/notes/minimising-conditional-var.html
o New function 'trackingPortfolio'. For details, see
http://enricoschumann.net/notes/return-based-tracking-portfolios.html
o New vignette 'Functions for portfolio selection'.
o 'TAopt' gains a new option 'drop0' (to be passed
via 'algo): if TRUE, zero values are dropped from
the sample of objective-function values during the
computation of the threshold sequence. See
https://stackoverflow.com/questions/63377180/finding-ideal-filter-setting-to-maximize-target-function
o 'French' supports more datasets. For industry
portfolios, the function now also provides "Sum of
BE/Sum of ME". The data are attached as an
attribute "sumBE.sumME". All data-frames attached
as attributes now have the timestamps as rownames.
o The setting-up of constraints matrices in
portfolio-selection functions such as 'minvar' is
now fixed; thanks to 'clcsar' for reporting on
GitHub. Also, the functions now allow group labels
for specifying constraints.
See https://github.com/enricoschumann/NMOF/issues/2 .
v2.1-0 (2020-04-01)
o 'Shiller': adapt function to new file format
o 'French'/'Shiller': if download fails, the
functions now return NULL (invisibly). Also,
'French' supports additional datasets.
o 'minvar', 'mvFrontier', 'mvPortfolio': the
functions gain arguments 'groups', 'groups.wmin'
and 'groups.wmax', which allow to specify group
constraints
o 'mvPortfolio': new argument 'lambda' for specifying
a risk--reward trade-off
v2.0-1 (2019-10-20)
o The package now includes the code examples from the
second edition of 'Numerical Methods and Optimization
in Finance". 'showExample' has been updated as well:
it gains an argument 'edition', which defaults to 2.
Also, the default for 'ignore.case' was changed
to TRUE. (To get back the old behaviour of the
function, set 'edition' to 1 and 'ignore.case' to
FALSE.)
o 'French' supports more datasets, e.g. for
momentum. Invoking 'French()' lists the supported
files. Also supported are datasets "market" and
"rf", which provide the market return and the
(so-called) risk-free rate.
o 'resampleC': 'cormat' can be a single number (the
correlation), which is then expanded into a
correlation matrix (this has worked before, but only
for the case of two series)
o new functions 'greedySearch' and 'randomReturns'
o 'DEopt' and 'PSopt' gain a 'drop' option. If FALSE,
the dimension attribute of a solution is kept when
the population is evaluated via a loop,
i.e. functions receive a one-column matrix. Note
that the defaults differ for both functions, so as
to keep both functions' behaviour unchanged.
o a tutorial on optimisation heuristics is
available at https://ssrn.com/abstract=3391756
o a tutorial on backtesting, which makes
much use of the NMOF package, is available
at https://ssrn.com/abstract=3374195
o various documentation updates; new features are
now described at
http://enricoschumann.net/notes/NMOF/
o manual has been updated:
http://enricoschumann.net/NMOF.htm#NMOFmanual
v1.6-0 (2019-04-01)
o 'French' supports more datasets; invoking
'French()' lists the supported files
v1.5-0 (2018-12-31)
o new function 'mvPortfolio', for computing efficient
frontiers, with or without cash
o new function 'mvFrontier', for computing
mean--variance efficient portfolios
o new functions 'French' and 'Shiller', for
downloading research datasets
o 'TAopt' gains an option 'thresholds.only': if TRUE,
'TAopt' only computes the threshold sequence and
then exits
o optimisation functions 'LSopt', 'SAopt' and 'TAopt'
gain an option 'nI' (total number of iterations)
v1.4-0 (2017-12-06)
o new function 'convexity'
v1.3-0 (2017-12-05)
o new vignette 'Solving the N-Queens Problem with
Local Search'
v1.2-0 (2017-09-13)
o new functions 'bundFuture' and
'bundFutureImpliedRate', for computing theoretical
futures prices and implied repo rates, respectively
v1.1-0 (2017-05-01)
o new function 'divRatio', for computing the
diversification ratio
v1.0-0 (2017-04-01)
o 'LSopt' gains an option 'OF.target', which lets the
algorithm stop when a desired objective-function
value is reached
o 'minvar' allows Inf and -Inf as maximum/minimum
weights; the function now also returns the
portfolio's variance
o 'resampleC': if only two series are passed,
'cormat' can be a single number (the correlation)
o various small updates in documentation
v0.99-0 (2017-02-15)
o new function 'CPPI': simulate a constant-proportion
portfolio-insurance strategy
o new function 'SAopt': optimisation with
Simulated Annealing
o new function 'minvar': compute minimum-variance
portfolios
o manual has been updated:
http://enricoschumann.net/NMOF.htm#NMOFmanual
v0.40-0 (2016-10-20)
o new function 'xtTickValue', which computes the tick
value for of Australian government-bond futures
v0.39-0 (2016-09-30)
o new function 'xtContractValue', for computing
contract values of Australian government-bond
futures
v0.38-0 (2016-09-03)
o fixed: LSopt did not switch off 'printBar' in cases
when 'printDetail > 1'
o updates to documentation of LSopt/TAopt
v0.37-6 (2016-08-27)
o fixed: 'gbb' failed when only a single path was to
be computed
v0.37-5 (2016-08-23)
o gbm: add fanplot example
v0.37-4 (2016-07-12)
o fixed: 'DEopt' did not work for univariate
optimisation models. (Thanks to Torsten von
Bartenwerffer for reporting.)
v0.37-3 (2016-07-06)
o TAopt: new option 'OF.target', which lets the
algorithm stop when a desired objective-function
value is reached
v0.37-2 (2016-06-08)
o TA.info: the best solution ('xbest') is now also
provided
v0.37-1 (2016-05-24)
o new test function 'tfEggholder'
v0.37-0 (2016-04-11)
o TAopt: experimental/rudimentary plot and print
methods. The methods are invoked if 'algo$classify'
is TRUE (default is FALSE in order to keep old
behaviour)
o there is now a public Git repository at
https://github.com/enricoschumann/NMOF
v0.36-5 (2016-04-07)
o repairMatrix: new argument 'eps', which specifies
the replacement value for negative eigenvalues
v0.36-4 (2015-11-18)
o bracketing: the resulting matrix's columns are
named 'lower' and 'upper'
v0.36-3 (2015-11-09)
o restartOpt: when 'cl' is specified and 'method' is
identical to 'loop', the function will now issue a
warning before changing method to 'snow'
v0.36-2 (2015-10-16)
o functions from packages other than 'base' are now
explicity imported: 'grDevices', 'graphics',
'stats', 'utils'
v0.36-1 (2015-07-22)
o TAopt: more informative error message when
objective function evaluates to NA during
computation of thresholds
v0.36-0 (2015-06-23)
o experimental: new function 'LS.info' for accessing
information during optimisation run (eg, current
iteration)
v0.35-1 (2015-06-04)
o small correction in parameter description in
'callMerton' (suggested by Laurs Leth)
v0.35-0 (2015-05-12)
o new function 'pm' for computing partial moments
v0.34-2 (2015-05-05)
o fixed: 'DEopt' did not properly handle the
'minmaxConstr' option, which could result in
solutions that violated the box constraints.
(Thanks to David Ashear for reporting.)
v0.34-1 (2015-02-03)
o no user-visible changes (see ChangeLog for non-visible changes)
v0.34-0 (2014-10-23)
o Functions such as 'mclapply' from package 'parallel' are imported;
'parallel' is no longer attached when these functions are used
(ie, the package is not added to the user's search path). [Please
note that the CRAN version of NMOF has required R (>= 2.14) for
some time now, and since that R-version package 'parallel' has
been available anyway.]
o report 'Distributed computations with the NMOF package' was
updated
v0.33-0 (2014-08-22)
o updates in documentation and vignettes
v0.32-1 (2014-08-14)
o argument 'offset' in 'ytm' can be a vector (that worked before as
well, but is now documented)
o several small updates in documentation
v0.32-0 (2014-03-26)
o new function 'colSubset'
o experimental: new function 'TA.info' for accessing information
during optimisation run (eg, current iteration)
o rewrote example in 'Asset selection with Local Search'
v0.31-2 (2014-02-21)
o various small updates in documentation and
vignettes (e.g. links to mailing lists)
v0.31-1 (2013-12-31)
o expanded vignette 'Overview of the NMOF package'
v0.31-0 (2013-12-27)
o new function 'callMerton' for European calls under Merton's
jump--diffusion model
o new vignette 'Overview of the NMOF package'
o smaller changes/updates in documentation
v0.30-0 (2013-11-18)
o new function 'duration'
v0.29-2 (2013-11-02)
o function 'ytm' has an argument 'offset' now; see ?ytm for examples
v0.29-1 (2013-10-31)
o function 'ytm' is slightly faster now
o small additions to documentation
v0.29-0 (2013-10-13)
o added function 'drawdown'
o Code examples in subdirectory 'NMOFex' (manual)
updated.
o small updates in documentation
v0.28-2 (2013-09-04)
o vignettes are now all placed in vignettes, again [see NEWS entries
v0.27-5 (2013-04-26) and v0.26-0 (2012-09-19)]; small changes in
vignettes
v0.28-1 (2013-07-22)
o 'snow' was removed from 'Suggested'. Whenever distribution of
computations is done via method 'snow', package 'parallel' is now
used. Note that this is currently experimental and little-tested;
feedback is thus much appreciated.
o in 'callHestoncf' and 'callCF', the upper integration limit is now
'Inf' (suggested by Wolfgang H\"ormann). This may make it easier
to compare different numerical implementations (but accuracy with
the old cutoff value was sufficient: numeric differences in prices
are of the order of a few hundredths of one cent).
v0.28-0 (2013-06-08)
o 'multicore' was removed from the 'Suggested' packages. (Package
'parallel' had already been used -- if possible -- since version
0.25-6; see the NEWS entry.)
o the package now 'Depends' on R version >= 2.14 (because of
'parallel')
o new functions 'gbm' and 'gbb' added (geometric Brownian
motion/bridge)
v0.27-5 (2013-04-26)
o since vignettes are built offline, the number of restarts was
increased again; cf. NEWS entry for v0.26-0 (2012-09-19)
o fixed a small error in help page for 'vanillaBond'
o internal changes in option pricing functions; more tests added for
dividend handling
v0.27-4 (2013-04-22)
o function 'putCallParity' added
o for 'vanillaOptionEuropean', a parameter 'vol' can be passed via
'...' (which is translated into 'v' by squaring and ignored if 'v'
is already specified)
o a few internal changes and doc changes
v0.27-3 (2013-01-04)
o Experimental: 'vanillaOptionEuropean' has arguments 'model'
(default is NULL which corresponds to Black-Scholes-Merton)
and '...'. This allows to pass other models; for
example, 'heston'. With 'greeks' set to TRUE, the function
also returns (some) derivatives. More will be added over
time, so the results should be extracted by name, not by
position (eg, x[["delta"]], but not x[[2L]]).
(Adding derivatives for non-BSM models was suggested by
Nitesh Kumar.)
v0.27-2 (2013-01-03)
o Small corrections in docs for 'ytm' and
'vanillaOptionEuropean'.
v0.27-1 (2013-01-02)
o Added functions 'ytm' and 'vanillaBond': compute
yield-to-maturity and price of plain-vanilla bond.
v0.27-0 (2012-11-29)
o Function 'qTable' has new arguments 'funs', 'tabular.format'
and 'skip'; see vignette 'qTableEx' and ?qTable.
The function now (correctly) adds more space at the end of
the tabular (unless 'skip' is FALSE, which corresponds to the
previous behaviour).
v0.26-4 (2012-11-14)
o Minor changes in documentation and examples.
o Code examples in subdirectory 'NMOFex' (manual)
updated.
v0.26-3 (2012-10-25)
o Important: all option pricing functions that return lists of
named elements (callCF, vanillaOptionE/A, callHestoncf)
now call the theoretical option value just 'value'. Before,
they returned 'price' or 'callPrice', which could be confusing
for instance in case of implied vol calculations.
o DEopt, GAopt and PSopt now also return the initial populations
(but only if 'algo$storeSolutions' is TRUE)
o More unit tests added.
v0.26-2 (2012-10-23)
o Changes in documentation and unit tests.
v0.26-1 (2012-10-12)
o Small changes in documentation (option pricing
functions).
o Code examples in subdirectory 'NMOFex' (manual)
updated.
v0.26-0 (2012-09-19)
o Vignettes (except for one) are now built offline
to reduce build/check time for R-Forge/CRAN.
(As suggested by Kasper Daniel Hansen in this post:
https://stat.ethz.ch/pipermail/r-devel/2012-September/064810.html )
o Small changes in documentation.
v0.25-9 (2012-09-19)
o Added functions 'vanillaOptionEuropean',
'VanillaOptionAmerican' and 'vanillaOptionImpliedVol'.
o Test files have been reorganised (there are now about
700 unit tests; they all can be run from
/unitTests/runTests.R).
o New maintainer e-mail address.
v0.25-8 (2012-08-28)
o all opt-functions now return 'initial.state' (which is
the value of '.Random.seed' when the function is
called). All the warnings of '?Random' apply (in
particular, see section 'Note'); the preferred way
is still to set a seed explicitly with 'set.seed'.
v0.25-7 (2012-08-17)
o minor internal changes (the only visible update are small
changes in some of the examples)
v0.25-6 (2012-08-07)
o Package 'parallel' is now suggested. In functions gridSearch,
restartOpt, bracket: with method 'multicore' the functions
first check if package 'parallel' is available; if not, they
look for package 'multicore'
o 'restartOpt' has a new argument 'best.only': if TRUE,
only the best run is reported. Default is FALSE.
v0.25-5 (2012-07-20)
o Added checks in DEopt that vectorised functions
return objects of correct size (will be added to PSopt
and GAopt as well).
o Removed NEWS.Rd (NEWS now back to plain text).
v0.25-4 (2012-07-03)
o Added checks on the parameters for 'callCF'; added
new arguments 'uniroot.control', which allows to pass
the settings for 'uniroot' (to compute implied vol),
and 'uniroot.info'.
(Computation of implied vol would fail when spot equalled
strike and r equalled q; thanks to Douglas McLean for
reporting this case.)
v0.25-3 (2012-06-22)
o Small changes in the vignettes (mostly layout).
o Code examples in subdirectory 'NMOFex' updated.
v0.25-2 (2012-06-17)
o Small changes in the vignettes (mostly layout).
o In 'TAopt', 'LSopt': if 'x0' is not a function, it is
initialised with 'eval(x0)'; thus, it can be an expression.
o Several minor internal changes.
v0.25-1 (2012-05-22)
o Edited some of the examples in the documentation; minor
modifications in docs.
o Code examples in subdirectory 'NMOFex' updated.
v0.25-0 (2012-04-20)
o All the R-code examples from the book are now available
in the package through function 'showExample'; eg,
'showExample("equations.R")'
(The scripts are stored in subdirectory 'book'.)
o A first draft of the 'NMOF Manual' is available from
http://enricoschumann.net/NMOF.htm . The manual's code
examples are collected in file 'NMOFman.R' (in subdirectory
'NMOFex'). The manual supersedes 'Examples and Extensions for
the NMOF package'.
o The tests on specific TA applications (minimum variance,
tangency portfolio) have been removed; the code was added to
the manual.
v0.24-1 (2012-04-16)
o Small changes in vignettes.
o Re-organised existing/added new unit tests.
v0.24-0 (2012-04-11)
o Added function 'resampleC': allows to sample with replacement from
arbitrary numeric vectors (ie, samples) and making the samples (rank)
correlated.
o 'DEopt' and 'PSopt' now have an argument 'algo$minmaxConstr'. If
TRUE, 'algo$min' and 'algo$max' are become constraints. These
constraints are implemented through an internal repair function that
is called before any user-defined repair function.
v0.23-3 (2012-03-25)
o fixed: 'restartOpt' could not take an argument named 'X'
via the '...' argument.
o Unit tests added in unitTests1.R.
v0.23-2 (2012-03-19)
o fixed: with 'algo$storeSolutions==TRUE', functions 'LSopt'
and 'TAopt' only returned the current (=accepted) solution
in a given iteration, but not the candidate solution.
(These data can be found in 'xlist'. See ?TAopt and
?LSopt, under 'Value'.)
o Unit tests added in unitTests1.R.
v0.23-1 (2012-02-27)
o Added 'Depends: R (>= 2.10)' to DESCRIPTION (necessary
because of file compression).
v0.23-0 (2012-02-14)
o Dataset 'optionData' was added.
o More tests were added for function 'callCF'; and its
documentation was updated.
v0.22-3 (2012-01-15)
o with 'algo$printDetail = TRUE', functions DEopt, GAopt and
PSopt give more information
o vignette 'DEnss.Rnw' was shortened to reduce build-time of
the package (removed parts are now in 'Examples and
Extensions for the NMOF package')
o code examples in subdirectory 'NMOFex' updated
v0.22-2 (2012-01-05)
o minor changes in vignettes/documentation
o code examples in subdirectory 'NMOFex' updated
v0.22-1 (2011-12-15)
o tests for distributed computing have been organised into a
report, 'Distributed computations with the NMOF package',
available as a pdf-file from
http://enricoschumann.net/files/NMOFdist_Windows.pdf
and
http://enricoschumann.net/files/NMOFdist_Linux.pdf
(package 'multicore' is only available on Linux)
o the code for 'Distributed computations with the NMOF package'
is available in file 'NMOFdist.R', stored in subdirectory
'NMOFex' (the file 'multicore.R' has been removed from
subdirectory 'unitTests')
o unit tests updated
v0.22-0 (2011-12-08)
o documentation updated
o slight changes in vignette 'DEnss.Rnw' (to reduce time
to build package)
v0.21-5 (2011-12-01)
o fixed: in 'GAopt', optional arguments for 'mclapply'
(multicore) were not passed. An example for passing an
argument was added to file 'unitTests/multicore.R'.
o documentation for 'GAopt' updated
o code examples in subdirectory 'NMOFex' updated
v0.21-4 (2011-11-29)
o 'GAopt' now has an argument 'algo$methodOF' that supports
'loop' (default) but also 'snow' or 'multicore'. See
'Examples and Extensions for the NMOF package' (with code
in subdirectory 'NMOFex') for an example.
o vignette 'TAportfolio' updated (now with example for
rank-deficient matrix)
v0.21-3 (2011-11-25)
o fixed: 'gridSearch' with 'printDetail=TRUE' did not give
a meaningful message
o experimental: 'GAopt' now has an argument 'algo$methodOF'
that can be 'loop' (default) but also 'snow' or 'multicore'
(currently, only 'snow' is operational). If 'algo$methodOF'
is not 'loop', the evaluation of the objective function will
be distributed. See 'Examples and Extensions for the NMOF
package'(with code in subdirectory 'NMOFex') for an example.
v0.21-2 (2011-11-22)
o fixed: with 'printDetail' greater than zero, 'TAopt' did
not print the best solution, but the current solution
(but internal book keeping worked correctly, and the best
solution was returned)
o 'bracketing', 'gridSearch', 'restartOpt': when 'cl' argument
is not NULL, then argument 'method' is set to 'snow' (but as
before it is checked whether package 'snow' is available)
o the latest pdf-version of 'Examples and Extensions
for the NMOF package' is now available from
http://enricoschumann.net/files/NMOFex.pdf
o code examples in subdirectory 'NMOFex' updated
v0.21-1 (2011-11-15)
o the 'printDetail' option for opt-functions is now more consistent:
a positive integer 'i' greater than one means that information
is printed at every 'i'th iteration
o minor changes in vignettes
o unit tests for 'callCF' added (in file 'unitTests/unitTests5.R')
v0.21-0 (2011-11-08)
o added function 'callCF' as a wrapper for pricing
European calls with the characteristic function;
characteristic functions for BSM, Merton, Bates, Heston
and Variance-Gamma were also added
o when 'algo$q' in 'TAopt' is zero, all thresholds are set
to zero
o code examples in subdirectory 'NMOFex' updated
o CITATION file now points to the book's homepage http://nmof.net
v0.20-1 (2011-10-28)
o the 'keepNames' argument of function 'gridSearch' is now
supported
o more examples added for 'gridSearch' (and corresponding tests
in 'unitTests/unitTests2.R')
o fixed: some typos in vignette 'Vectorised objective functions'
v0.20-0 (2011-10-20)
o *first CRAN release*
o the 'printDetail' argument for 'LSopt' now recognises
TRUE and FALSE (as before), but also an integer 'i'
greater than 1. In the latter case, information on the best
solution is printed at every 'i'th step.
o minor cleanups in documentation
v0.19-4 (2011-10-15)
o small changes in vignette 'Repairing solutions'
o small internal changes in 'GAopt' and 'DEopt' (auxiliary functions
like 'switch' and 'shift' have been inlined)
o code examples in subdirectory 'NMOFex' updated
v0.19-3 (2011-10-07)
o fixed: a bug had been introduced into 'GAopt' in version 0.19-2
(revision 88), which let the population grow to algo$nP+1
o minor changes in documentation/examples
v0.19-2 (2011-09-30)
o minor cleanups in documentation
v0.19-1 (2011-09-29)
o minor cleanups in documentation
o minor internal changes in 'restartOpt' (passing of the '...' arguments
for method 'snow')
v0.19-0 (2011-09-26)
o 'bracketing', 'gridSearch' and 'restartOpt' now support distributed
evaluation of 'fun' via 'clusterApply' from the 'snow' package. As a
side effect, the interface of 'gridSearch' and 'restartOpt' has
changed: instead of an option 'multicore', they now have an argument
'method', which can be 'loop', 'multicore' or 'snow'. See the
documentation of these functions.
o for consistency, the 'method' argument of 'bracketing' expects 'vectorised'
rather than 'vectorise' (but both work, and also the '-ize' spellings)
o substantial revision of documentation/examples
o more intelligible error/warning messages in 'bracketing' added
o small changes in vignettes 'Robust Regression with Particle Swarm
Optimisation and Differential Evolution' and 'Repairing solutions'
o file 'multicore.R' was moved to subdirectory inst/unitTests;
thus, it is installed with the package. Some tests for package 'snow'
were added.
o more tests added (subdirectory unitTests); in particular, tests are
more comprehensively commented now
v0.18-1 (2011-09-21)
o fixed: 'restartOpt' with 'multicore = TRUE' did not correctly
pass '...' arguments to 'fun'
o fixed: typo in message issued by 'gridSearch'
o new file 'multicore.R' added in subdirectory tests; it contains a number
of timing tests to see if the 'multicore' option works. (The tests are
not run when the package is built.)
o minor updates in documentation
v0.18-0 (2011-09-20)
o 'restartOpt' now has option 'multicore'
o the 'method' option of function 'xwGauss' can now take on values
'hermite' and 'laguerre'
o documentation updated
o new examples added in 'Examples and Extensions for the NMOF package'
(see subdirectory NMOFex)
o test cases added for 'restartOpt' and 'xwGauss'
(see subdirectory unitTests)
v0.17-0 (2011-09-18)
o functions for Gaussian integration added: 'xwGauss' computes nodes and
weights; 'changeInterval' transforms the nodes/weights to arbitrary
intervals. Currently, only method 'legendre' is supported.
o documentation updated
o more tests added for opt-functions (for returned objects 'Fmat'
and 'xlist')
v0.16-2 (2011-09-17)
o all opt-functions now have arguments 'storeF' and 'storeSolutions'
(passed through 'algo'). If the latter is TRUE, intermediary results
will be stored in a list 'xlist' that is returned by the function
(what exactly 'xlist' contains, depends on the specific function)
o minor revision in vignette 'Robust Regression with
Particle Swarm Optimisation and Differential Evolution'
o NEWS file can now be found under inst/NEWS.Rd
o internal changes: a number of test utilities have been added
(not exported); see, for instance, ?checkList
v0.16-1 (2011-09-13)
o fixed: 'bracketing' had not been added to the NAMESPACE file (now it is)
o tests for 'bracketing' added (see directory unitTests)
v0.16-0 (2011-09-12)
o function 'bracketing' added
o minor changes in function 'MA' (added checks)
v0.15-6 (2011-09-11)
o vignette for 'qTable' added/corrected
v0.15-5 (2011-09-04)
o 'qTable' revised (user-specified labels are now possible)
o (very) short vignette for 'qTable' added
o minor changes in code/documentation/examples
v0.15-4
o experimental: 'DEopt' takes further arguments 'storeF' and 'storeSolutions'
(through list 'algo'). If 'storeF' is FALSE, objective function values are
not stored ('Fmat' is set to NA; see ?DEopt). If 'storeSolutions' is TRUE,
all population matrices are stored for every generation. This should be
helpful for diagnostic checking (and demonstration purposes), but may use
up a lot of memory for larger problems; hence default is FALSE.
(These settings will either be removed from 'DEopt' or be added to all
opt-functions in one of the next package versions.)
v0.15-3
o new vignette ('Vectorised objective functions') added
o more safeguards added to 'gridSearch'
v0.15-2
o function 'gridSearch' now takes a list 'mc.control' as an argument;
it allows to pass settings to 'mclapply'
o more tests were added (see unitTests.R)
o minor changes in code/documentation/examples
v0.15-1
o more tests were added (see unitTests.R)
o minor changes in code/documentation/examples
v0.15-0