|
改了一下,这次运算应该没啥问题了- K. @. g7 U0 x0 V
7 I4 z- G) ], ~* F$ @% p; R
) f) X) L, f; ?1 I+ acapture program drop hello
! B1 U; O4 T$ H4 k8 K4 V. g) z' |2 g y4 {. w! c4 Y% P( J
program hello
5 Y, h* p& ^9 t- ] s, b
* [! a" V1 J( _1 i: J6 W" n quietly {
6 r2 G* H$ Q3 [1 v* m1 W8 }, k& z$ J; V# m1 U
clear
k- v" U3 t4 i- o3 J9 r; Z0 ~& N* _" s- W4 g& [! e
cd e:\finance\stock\20110101\source8 X& }8 P: H% S+ p
* n2 O3 C1 W7 b) e8 X
insheet using `1'.txt+ D, F, N. w$ e7 C( `
. Y, r- F& Z4 [
keep if v5>02 i9 G) p5 h0 ]: ^' ^0 L, A' X
6 ~6 |) I. t# E3 N" d* k" h
gen vt=_n. Z, I* U! j1 V1 _
: R4 P- r& n' E* ]+ g0 h
tsset vt8 l6 E* ^: Q: A! a5 T o( ~
/ \. H* g1 f: r! l5 G+ y gen zf=D1.v5& x& z/ Q( ^' I1 ?) L: e4 L; \
- K: U! e2 N8 }* B( f# [
gsort -v1; i; t" D6 g: K6 i
8 k$ J/ P! n7 @7 F0 E4 n5 I" c gen avol=v7/v5
+ P/ ^9 e# X' l$ S+ K9 z
& }4 C' ^/ M7 q& f. V2 n keep if avol>06 D) ~4 _3 K1 O0 _
/ J* K4 B4 J- y8 N' T" b. ]! [1 [
drop vt
1 e% H$ t4 N( _1 ^) S! V
3 Z2 j! m3 j( }. l" n; [' ~7 c gen vt=_n
; `& r+ E6 ]6 m. |- M1 E% B0 {7 H
# J) {# v: ^% F tsset vt2 q2 i- q7 G8 R* s" c0 @% q
7 N) F; V7 X4 n M
sum v5 [aw =avol]
7 d4 t4 _! w, m" D
b& f& @- e- L2 N. h gen amean=r(mean) in 1
9 `3 A+ F$ C1 c9 G
/ T* ~; Q, n/ ?$ C- z8 x5 g: Q * 总加权平均值 amean
1 D) ~% |/ n5 Q' ?+ s
$ n# F/ Z$ G$ v* o2 q
) Y M1 {; O' j7 \# q& q keep in 1/240
" f! j4 r: t; `( n" G. t4 G/ Z- w/ M
* R; b+ x2 T5 D1 ` sum v5 [aw =avol]
: g. `0 j' x* F- k! ]( V/ X/ m9 F
$ k# [# l R1 [* |, e! C& @' o gen mean240=r(mean) in 1
& e# W* n; y! g2 f7 l0 A- F
7 D" H6 Q2 A& V8 w4 o *240加权平均值 mean2406 ^) `+ ^# h5 e8 d
1 B4 T- `: G( U. p& p8 L/ ? set obs 500
; t; Q8 ?$ g' ? ! c# F" J7 x/ ?; m
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
% J) V1 B! K5 K) c
s# B* Q3 K; a# M *240 kdensity(dx240 dy240)
' v1 s9 J( I* F- l* t3 B / g! ^6 l/ I& T9 w8 r8 R/ M
sum dy240
9 s3 g: g1 d* j5 [3 j: T( v 1 r T& ~% \6 f% @
gen yxis=r(max) in 19 e2 l8 R" X$ J: {$ N
! V# w' L' X! S. S, E
gen yxis2=yxis/2
0 v! o- k' H( ?" P/ f% ]
3 c* S' H2 F* |1 ` *yxis' d, c$ ?! m; O0 _2 `4 q
! w! H1 m, R6 @" q1 ^ gen dy240max=r(max)
% ^ ?4 f6 T! ]$ g( f) G* h6 D # Z! y! _) {$ L; |( M4 U7 q
gen dy240minp=r(min)
; m/ L2 t5 [! m1 G/ a" ` t0 }0 u 2 h; G# K: _) ~; E
gen vtt=_n
! t7 t8 p0 \3 T% t
, Z) A( A. v( B9 x- y i( K3 ^7 t3 ~ M tsset vtt) T* t2 t. J# K+ I
4 R$ ~$ O4 t! y' H; v
gen ddy240=D1.dy240/D1.dx2403 _# ]( N6 y; G" X! O2 W, @+ k
6 e& x* Z. W# r sum ddy240$ [( o/ f' n: k* ?1 o; X3 K8 }' l
. S- f/ r- q+ l4 M gen ddy240max=r(max); X$ D+ `% c7 h! {5 c4 d8 c
* A5 m' [6 b1 a0 T
gen ddy240min=r(min)
4 `/ O8 I J" _- W8 U G6 h
6 J# h" V' M8 [5 q gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
) Z+ a1 z2 f/ w" Q: A. { 3 c. g- O$ _& Y1 ], u! ^3 J( P
sum ddy240g+ ?% C1 V3 M ]7 |! {$ I
3 t6 V; z+ n# s* Z6 P7 e, T) [# P
gen yxis3=r(min) in 1. U9 ?% p) C. m
4 @( P0 ^; @! P; F: l+ f gen yxis4=0 in 15 t4 A( f' u* g( r5 z! W5 r
1 ]) ]+ Y/ Y+ Z4 S
*ddy240g & N/ W. k% I: w4 U
5 S8 D2 K }4 v4 v$ k
1 @2 r2 J; o' W preserve % U, K+ G' E7 d
2 N1 A+ N7 m1 g$ z sum v5 [aw =avol]
0 Z0 }0 w4 O9 r1 b" ?3 T 7 s: s& g1 w6 M. H6 Q6 a: a
keep if dx240<r(mean)
, d/ H5 u' K1 b: G" r . ~/ K) S. c1 U* @* `+ ~6 _
sum ddy240+ ?* F3 r3 M5 q+ z8 P
( H( J) \# A* N+ H1 l9 }
if r(min)<0 {0 x% u! J+ a d) Y$ k5 Z
* G. S: S D% H* R) J& v5 k
keep if ddy240<=0
, | Q0 a! n/ [ y- k1 ^& A: t 2 a# E2 a7 {3 Z2 K3 r
count
% C" n: u- L8 A5 K* N, ] . ]4 e1 L7 R& ]4 `$ ^9 B
if r(N)>2 {
- z) t( q5 |4 W- C f/ i / D. _, b F6 w
pkexamine dx240 dy240# @2 }( X) Y9 [: f
; q6 c$ [8 t/ O- r2 t+ e2 c4 X; i local tempminp=r(tomc)! C4 K+ P# S5 `5 V4 f
restore
" j9 r+ e$ F; E5 V" m, l* d. l- E$ Z' \ }
4 A, K* j1 t; f9 Q, z4 ]( { 8 R/ _) O# O+ C# S. Q2 q% K: p# @5 L. n
else {% b5 g8 x7 `4 @6 Q8 o/ ~3 f- d. o
" F& {' {( V2 o1 w di "cannot find minp"
) p2 C; Q( E& b: I' i$ T
/ S i0 i; {: ^+ n3 W. f* q2 b2 i restore
, o# n- ]$ C6 ]1 P sum dx240' m9 n& }6 d. z: T" W
local tempminp=r(mean)) C' t2 P0 P2 ?. F/ B: M
/ I9 [! D' q- H* L2 G }6 _; {: @2 c7 W" w% v" J" W
}9 N. f, B# S. v \
else {. L/ h" N6 G/ N2 q" m/ R/ [
' H% p1 `' z6 N8 A; D% ^9 k \) P keep if ddy240<=r(min)
- t$ X& |; F' s$ E; O; I+ u * M; q) `$ j" f4 p. m) F# O6 P
sum dx240
, n+ X3 o: l( |: u * V* i, U$ j1 d, ?' U; W
local tempminp=r(min); }' z$ L3 k9 |0 A) m; g0 }
restore % A1 O7 r& Z3 g5 W6 v& y. b; c! ^
}; G; L% ~. \5 _0 m& a9 J- o% y
# r! C6 S) k/ N- }0 b$ ^3 T+ j1 _# Z2 k/ U& o0 F
3 }5 m: {+ `* s; x( D+ o \; k
gen minp=`tempminp' in 18 ?) L. @ M& e5 c) H
*240 minp
* @/ L+ B+ c+ B) A
: k7 N* T' I2 | V% b/ F0 }/ f# m
' b4 h6 _2 T) N# x3 f/ O( j p " e+ M7 J1 H. x( l& q% g
preserve
7 Y: I* c( o1 b7 Q5 w& b/ m; u G, q * B. u& A4 m: `
sum v5 [aw =avol]9 [* n2 ?* G. \ R. J
- h- V2 v0 ]! h5 C$ q keep if dx240>r(mean)
- k; t) a+ C7 D2 G3 U, z / v) E, q/ M" |
sum ddy240- u. v" ~0 o% t, J
2 r5 |9 m0 S# b q5 a7 n p5 O# e if r(max)>0 { }& |( H0 u! j) `
) _' g. L9 Z% z5 R keep if ddy240>=0
7 e7 {: P) _% M & {0 D1 }; h7 ^$ j T4 l7 x$ M5 p
count( b* D! S8 N# L2 B+ q9 N( o
& N! E- g# i0 X if r(N)>2 {
5 t& c9 r P0 a! c. Q; w3 a1 y
3 T: @' X" P$ b9 P$ Y pkexamine dx240 dy240
1 M) U q7 z) i$ J, N" n5 p$ ]1 t
' C1 T7 Q& A2 D( B$ o; [6 h/ o local tempmaxp=r(tomc) 0 ~# R/ ]0 i$ Z" H
restore ' s* X8 J( Z% C1 G/ ~! ^
}
# E5 `' X* t4 n, S+ X, o ) Z5 V: J$ ^) I" K' ~
# j7 \' K! v) b1 |6 b( C: v else {
1 }% L1 H, }6 | restore
( _; o. f: |' }& {8 T& H di "cannot find maxp"6 P. j7 C" O& i4 y1 S; r) e
5 W! m D5 U% ^0 A. w, r
0 Z) F+ P6 j* c- p5 T sum dx240
) k- d: M5 c. q, ? local tempmaxp=r(mean)
G6 i9 N0 V0 R2 H# i, O * m" S$ ?6 H, o1 u% N, n) G1 U' l& R
}+ T. K8 I( Y- K. D# f0 ^# C
9 y" r4 a3 g( Q2 A% }0 H1 } }* P! Y; d6 v& w1 W) b
. F `1 h. T$ {( Z' n" E* q4 n6 C else {
& u; @, x: ]' g% B
x. v; ]' Y0 Z( X8 F& X: ? keep if ddy240>=r(max)
! t0 R6 d, D% T, q; q5 t, g
& Z5 J3 I, r* ^; t O sum dx240
- y* R) S) r3 y1 U* v$ g$ B( h
- y9 T* Y3 T8 k7 l/ b local tempmaxp=r(max)
# Y$ V+ h' ~+ E, ^2 q. {8 H restore
: u7 U4 t# v, b" X1 w7 L9 Y. q }& K9 T0 E0 A$ D1 D
% Y% j% k0 r9 Q
4 J& q8 X) M, v/ P
& Z P* d/ x3 Y2 c
% f. O2 h2 F/ K1 o v, J( k
gen maxp=`tempmaxp' in 1
$ J5 p: l: ^/ D9 J% G 0 w: T; i& z3 g+ Q. Z
*240maxp
' f- J6 n- r: A( m3 g/ ^6 b1 t
! G; D3 D0 i% W' q# e; X $ n ?. b% O2 k1 e# Q; v
*-------------ddy240pminp左侧高峰值-----
5 { r) R. j. P" I s9 j* p' ^
# {, i; E4 ?/ E' q6 f4 x preserve
' S2 O& I6 y- ^7 ~ n5 n. H# E
3 R* b% p* L6 e keep if dx240<`tempminp'! D7 i' o! w w0 ^
2 y' I; `# K& V( W0 o& R9 c3 c keep if ddy240>0
0 T }: v* @+ p4 o* ?4 V* D! c 2 |# v9 b2 z; e3 {" U2 y
count
4 O9 Z, o! B" Z6 E; n# { , p' U {* I! r- D8 g- W: Z
if r(N)>2 {
8 R9 S% O- ?1 [$ t: _# k0 s 1 k4 V5 V9 [5 N" x) J# \
pkexamine dx240 ddy240
u/ ]& j; p) s3 ~/ v+ y1 Q/ ?
9 `! c* j4 I4 i. H/ u local tempminphddy240=r(tomc)
5 Q& S: ]/ C* }* m: K# d( l restore
% g" v r A/ f }
4 ~5 G5 E' r0 T1 }2 n) {1 P
, P; h2 N, _6 @( p else {
5 `2 q ~( T& s3 v+ ?2 L5 | restore # F$ ^0 \6 L/ x8 T
di "cannot find pminphddy240"
: L' I+ w, q4 O6 ]
: b% L$ B, w, P a
1 o, U- Y6 |" D7 j sum dx240
: y4 l% B0 P3 _ local tempminphddy240=r(mean) ' G7 G% v6 ^5 o+ J3 U8 V
5 |2 K& o3 ?3 K$ @+ |9 V2 v2 d% d - S+ f' J7 o1 I# m. O
}( C; m* h, M7 F* i4 {7 Z
, x. e* |2 o; w- n$ F8 Y
* ^2 P1 h# I* |% j. b6 `
5 Z7 y! n, ?/ q6 D
' _. ?; h: e, U/ ^3 O; ~( K- g( } ; }- k: {1 c& ]
/ _$ ?9 c, r9 V6 c( d; w$ v! E gen pminphddy240=`tempminphddy240' in 14 Q$ Z6 `4 h9 C/ m
. m9 ~" W1 i5 I5 s2 g6 s - C. c; R5 Q7 v" X: e3 S5 x! u
*-------------ddy240pminp右侧低峰值 -----------------$ P) A* L0 _/ k |+ F; y
preserve ) Z3 }# }0 L+ F7 r- J3 r; p
' e3 n) A @0 {: J5 H- V! ~
keep if dx240>`tempminp'
2 `1 ^# x# h3 z2 L - A# K+ H1 L% ]# H% L
keep if dx240<`tempmaxp'3 M1 k. z/ a9 H. l( L) X
( f1 y& a V: H" M5 `; C! q* V+ _
keep if ddy240<0+ G m6 ^/ k- B+ p1 z3 c, L3 {
" ^. v4 @ W2 |. c4 d/ n3 ? gen temddy240=-ddy240
0 o& D& z" l6 W- Y7 F7 o' U
$ S. V# p2 t3 O, ^( V$ | count9 `- Q" m8 w% @' d
5 a3 R5 m; v! n- ~6 K if r(N)>2 {
- d7 @% j# D. a, Y$ X: k + m' n) V* j3 T7 [
pkexamine dx240 temddy240# G; G9 F1 v4 j$ i
9 o: s- C* y# g4 Q' D3 y2 r2 D6 y$ i( {
local tempminplddy240=r(tomc)
' b5 g. R3 O* _ restore0 {" M3 n, Z @
}) d4 M% g3 P" C! U0 B5 z0 o( n' [
6 A- i, h3 O |5 k$ A( f$ r else {
' r" F# J0 e; d2 Y& m) I8 q 6 r3 {6 ~5 p+ `8 }8 E$ I# k/ D, I
di "cannot find pminplddy240"+ Y6 J6 X7 W6 x& `6 P7 U7 ` Z0 d
restore3 y' _" |$ t$ P9 v" A$ u. A
1 p1 @/ |; c& k% T sum dx240
1 I0 i; v8 t2 M. K2 s7 L6 q$ o local tempminplddy240=r(mean)# N2 D h2 r; F O/ |
# v9 D4 s. \7 E, l
5 d @8 l% l6 r" d1 p7 b7 Z7 @ }
7 }, D8 }. v+ \, n) _, v % `5 d) F3 c7 s9 T- E
6 g+ W8 |7 t: S3 q" b
8 d. N) Z7 q! C% {) J: X
5 i4 r0 r6 A+ R9 N5 @9 S8 \
! t3 {1 J4 {% B: e5 p% y$ r, v gen pminplddy240=`tempminplddy240' in 1
+ H1 e6 G& s) L9 m0 u$ h* w
( A% r4 ], ?( p4 Z% Q4 r *-------------ddy240pmaxp左侧高峰值 -------------------
- c* |, t9 S) h' @6 _ 3 Z9 t3 }4 T' d3 e: n C1 r, b
preserve ! k4 M/ p a" H, y; J- c: S! Y
, G9 \, ?" z/ \+ a l keep if dx240>`tempminp'
/ a2 H/ Q6 v, W O2 e/ @! i
3 O6 d$ N8 _; \" K keep if dx240<`tempmaxp', J+ M! E5 [, Z* Y/ G
3 @! ]+ f- ~: z, _$ h keep if ddy240>0 }# ?1 q- _, V3 e% N
count, z7 W1 A/ K |5 S; R1 U7 M
) |8 U) S+ D9 }: {/ r3 o if r(N)>2 {
% u I3 m5 e Z; d( P( D 7 \; N, A3 q: z- c3 j: m# e7 i
pkexamine dx240 ddy240
% o+ ` }# d+ R' K. ^; m . r) q/ \" v2 Z+ V) W6 \
local tempmaxphddy240=r(tomc)
; z8 Q; j% }4 m" p8 n# q# o 9 D+ ~# y+ W9 @, p( k$ b
restore
5 e: O- q% s' a$ b) ] }
6 ]. \5 {0 e: Y2 {, n n1 y4 j
3 d# T% H, T% X S2 G' Z else {
# {* ~5 ?" h; P9 v 1 |0 Z5 w$ u$ @8 i* x4 X" K
di "cannot find pmaxphddy240"
* J' e3 i8 U3 J# D: l restore
" ~. P, y0 ?! i# a5 y % @7 r" U7 H. x! O2 U+ l, K
sum dx240$ _% W. J, Q' o. P
local tempmaxphddy240=r(mean)
x3 C4 O0 u& \' I7 I : u6 V2 F g/ X) [ I# b4 T
. c8 A6 c6 P0 Y# E/ D" V& M+ E }
8 m5 V9 U8 ~4 S1 Y8 U K/ h* y3 v% l. `
g: Q' }+ C$ b: @
! t, x6 P2 i5 T" T( m) a8 W9 R+ @ 0 R) p# N. f# k! Q8 `. u( R8 V8 v! a4 L
* P8 \% i4 a s, `) H
1 H* `" \. M! i, i
7 D5 o2 `+ n" o; ]; U% Q; h4 o( ^3 V2 g gen pmaxphddy240=`tempmaxphddy240' in 10 {, y& T( O5 w& o+ |0 m9 O
, b& ^ g ^( q" k( X* j 9 V# G+ i$ T0 s9 G% C5 v- T
*-------------ddy240pmaxp右侧低峰值 -------------------
$ P, c9 Z8 A9 a. o% c8 J5 q ; k; y- w0 [; H+ Z1 K, J
preserve
- i N% z2 j3 a* b
8 o! z1 w$ l$ H g0 z keep if dx240>`tempmaxp'" o- t% G9 `* n$ V
- P4 F: F5 p) S4 d0 N8 x
gen temddy240=-ddy240
; h9 Z1 @- U7 f& Y
$ A" G- ?! F0 G keep if temddy240>0* A5 X1 ~' S: p' A! m4 L
6 [/ H( F9 U$ x7 a- p$ v
count9 m9 S& \7 Q8 | d4 w
4 A/ h J: c" k8 u" @3 k if r(N)>2 {5 m6 b7 o; g6 z$ |1 t$ b l5 E
6 ~3 j. n2 B6 x% p
pkexamine dx240 temddy240
! x+ G) j& w0 N6 S7 y5 A5 L 7 b2 ~, k& L- u, M3 I
local tempmaxplddy240=r(tomc)
; h7 r1 o) o* l( C/ F* B restore
! ? Q0 f% Z3 u- N+ U }
! S- \8 ]% @+ d0 D
+ R7 R" {5 V4 z* V8 Q2 } else {8 _$ C3 B @/ d$ s% X0 f
restore
# m! f2 X9 Q1 K5 }2 W. s di "cannot find pmaxlhddy240"' w1 ^' Z1 s; f' }; O8 v
& B+ U5 f# b1 a8 x
1 a# ?% h, S& Z6 l6 l- p" n* N" V sum dx240
% F: E r' v' g: y2 ^ local tempmaxplddy240=r(mean) in 1
/ A( O% e# z: h . }4 ^% K' m4 C
# Q; u& B4 [7 L; f4 Z4 z E; ]
}) o- o d V0 q# E
H% U% _. _* E 4 R5 a+ B2 ]- n$ \+ K# \
' E7 i: v5 {: M
6 R7 J0 |$ b0 C9 a% w
% `, ?: ^' c1 S4 c
6 c- S6 v/ z+ L# Q$ d1 e0 D
gen pmaxplddy240=`tempmaxphddy240' in 11 U- f9 P8 `- N# w+ d
8 O; Y. Z9 A3 ^- v
*-------------------------------------& |$ A2 m# B% Q
# ~! L# a, T3 f. k& I8 L) L
gen price5d=v5 in 1/209 g7 n- J) o, S% G
1 ~( U* C7 |7 Q% u* Z gen price5yy=_n in 1/20; ~2 I1 b: n9 _8 z1 X# u# J
) z7 S& A& ~2 q" E! G1 _ gen price5y=price5yy*(dy240max-dy240min)/20
5 P' b2 y* }6 q# t& t- S4 ]* `& G6 n
" ~2 @. G5 {* ]: |' Q *price5y &price5d
+ d; \# ]! M- K( Y1 Y( B , `/ S/ _# w9 `) ?
gen priceny=price5y in 1& w3 Z. F& K+ g
9 y+ i( G: E" X
gen pricen=v5 in 1
( O# p7 l6 y D+ |4 f# g6 ~! d2 N( D; I9 K( x* m7 q; m- `) v
& a# D4 a% g% n! _- M *priceny &pricen
7 }$ [* J* T0 |/ q L& [ ' H! T! G9 h1 H/ L
0 m# d* `* T" s* F5 z& Q* |' V
*-------------------------graph------------------
$ R2 O4 [% r: ?5 ] 9 Z* {8 F! `7 Y) P' H- s
tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
$ C2 `' E/ ^8 r! a
$ X% k, t' U4 T1 }9 d* ---------可选项目----------------------3 j `2 H8 t3 f$ D4 g6 ~
+ l7 l5 b# n e. B}
- U: E4 _& v( D) _! Gend
2 I3 g, v0 u" j$ v |
|