|
|
改了一下,这次运算应该没啥问题了" R; C* ]! B4 ^& {$ {9 ?' z' F
% Y" K/ Z! N; \6 A, _
4 w4 J. p3 `0 a P0 F: b5 pcapture program drop hello
0 G7 _ f! I2 b) C7 U+ a7 w) p& ^8 H5 u
program hello
1 m$ e1 M. y, P; v( C: W0 I4 G
# n- x4 [5 g6 [+ c6 r, y3 F$ o: { G quietly {
" ?% n0 t& |/ E( X' |0 z" |) ]
: @% S4 |, N6 V2 e% ^clear
% O5 D, a# v3 ^7 T, ?3 }8 j
+ g% B' @, y, B2 O }cd e:\finance\stock\20110101\source
& z8 u) Z1 r- S8 M* G* v9 o1 y+ f/ Z
) R4 p# W- n4 `5 j$ ?9 u5 Winsheet using `1'.txt
3 a+ N( v: m6 ]# U* [# t. y3 e* ^9 ^8 I. W: F; O* M
keep if v5>0! b# Y5 f! ~- H- I+ }
}" X1 ?5 S: _9 Q) e7 K
gen vt=_n
2 D3 R' k: Q0 A" d( U- T
( z M+ e1 C1 S0 h tsset vt& C8 q3 T5 I. @
4 f/ b+ V/ f: R O/ X0 r: N( ^# N3 x1 {! {
gen zf=D1.v5; ? L4 V% i Y! }
k4 D" E/ \3 L( C, S
gsort -v1
' } k& r+ {: L8 t+ n9 ~
2 ` J% ?3 p* e) E" W Q7 [ gen avol=v7/v5! h1 t- {" Z9 M% Z& {: S) A
( p5 R/ y' s6 h
keep if avol>0$ C: D; p6 A$ ]" C t) o
' u3 T8 {: {7 f8 w$ k drop vt
6 j3 E- p0 Y; b+ M- Y2 k
. X7 |: Y1 ^4 L( a" [ gen vt=_n
2 i* X: q% u/ t( M5 T+ K3 R# P
/ v3 P7 Y6 ^! J& m3 v" R1 x tsset vt
6 q" g1 W; u, C" |) z$ O
1 ^; e" i5 X% R) H! S& {# r sum v5 [aw =avol]
' \8 x) O# f3 d8 V9 |: K0 g* e8 @0 s- j4 E4 B* L0 z8 X$ |* U9 ~8 ]2 o
gen amean=r(mean) in 1
1 n2 Z* b0 t/ ? N
L' A( v( z5 B; m6 g( S * 总加权平均值 amean
1 B# F. l- U. C! F( d' O
! e+ A1 k% X9 B9 ]6 G
# f6 q3 ^3 z4 r6 t+ N) T. | keep in 1/2405 @$ U, S* _$ u) ^! a
8 i6 u" d4 e! G9 S& }
sum v5 [aw =avol]8 y, g6 l' h- X0 e- m# W
/ C& U: f5 n2 f) \
gen mean240=r(mean) in 1
5 Y+ T% W- Y, t: } & |+ K& y9 O' c- v( \$ t
*240加权平均值 mean240
7 _1 `! A* Q+ k& V/ H+ D5 h* M . G/ o6 a$ w( U2 [% c7 l3 A" K3 A) ]
set obs 500
# m Q/ ~. b* R5 x/ N 1 l+ ^+ Z& |/ ^% A5 e6 f8 ^
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
' x8 @ w' y& `2 p) x: C, \7 _- }; k 0 Q1 u9 N9 R/ d8 _
*240 kdensity(dx240 dy240)5 g8 C w( T0 j' B9 j9 Q
6 [! V0 r# N- A7 M9 A$ v( l sum dy2403 o1 Q f( L$ o: G: c0 N
l C0 I3 _3 C) f2 A( q gen yxis=r(max) in 1/ L! X) J: u G- ~) w- y: C
) o w* ], J9 j X4 u
gen yxis2=yxis/25 ?* ~0 V+ |. ?. x' n3 B! @
3 f, Z8 G- H3 k4 G& Q5 x# { *yxis
* _8 r" {: L q0 B
1 f* Q3 D9 B$ Y) H. q3 I gen dy240max=r(max)
8 X+ `% T! e7 { J7 [, `
& c" x. m+ |) |5 e' L gen dy240minp=r(min)
: t# q" K; }) I' a( i) r 9 P+ @, I9 Q" [
gen vtt=_n. H' s+ `. }( C" k, v
0 r T) F, l- m* w/ n) o) G6 z# ~
tsset vtt) O$ y6 W: ]: c# ~' h+ B" x
: J' P, m, b# d; y gen ddy240=D1.dy240/D1.dx240
3 B7 _2 M7 a0 E2 I
3 A1 j, c' n1 V6 T/ ^2 x5 U sum ddy240: h# ]" m7 l3 D9 E" s& M1 W+ m
0 @& \! D; d/ S" _
gen ddy240max=r(max)" l4 m7 p$ k6 X
9 X2 m) S/ K' C( l$ F
gen ddy240min=r(min)
9 @& ?: l% D# Z" d1 i; w+ R/ C + i1 @2 M+ z) ^6 U
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)5 P. F7 h/ k: T2 P, R. u) ]9 p& B/ ?: q
' V9 ~" `4 f/ B9 w \
sum ddy240g
4 w( S1 A5 F& D R5 x# Z0 H, A; E% @
5 i/ R0 j8 x$ l2 P4 S) I2 \ gen yxis3=r(min) in 1
+ i' C1 q6 e8 z % q* z; C- p; S8 I1 H G1 f7 ^
gen yxis4=0 in 1
! G% g s2 K3 Y" X, B3 A
! H0 d$ ^/ {0 {! @* ` *ddy240g
$ {5 Z& }- s8 y, h + B/ n0 Q! s! s1 {
% t; T1 ~% ^; Z) r- i/ q( H7 M* [: w
preserve
3 C( c3 S7 `# N5 @' M: r0 {
+ o, j7 O1 C0 n# ~, \. M5 r sum v5 [aw =avol]7 N$ T5 G8 R- j$ _) T' T+ R
5 T$ w+ D4 n6 z( O; L! D& f& e" j keep if dx240<r(mean)8 P* R' A F, Q1 [. V- R! l
& {$ R/ T6 \0 |% j. P* Y; o1 N! L* P9 T sum ddy240) v4 `' p0 }4 b; J6 Y
: p$ [0 c8 ~1 P6 P3 Z if r(min)<0 {
( Q% L* {0 Q. o% z2 H
( `$ [( k6 C& x# M keep if ddy240<=0. _ Y# G4 ~1 c6 d% V: N
, d6 c2 l8 S1 U' i2 W% m2 V
count. \) q" ]+ [3 j1 E" z( o) f' b% L
) ^% Q+ ?, @: P o( e' p5 `
if r(N)>2 {! ]- g/ k' E3 D) C+ w* f
0 q. i( o4 C7 O2 Z3 z0 ^6 T1 l
pkexamine dx240 dy240 k; k+ W/ _: Y$ i
i M; y' o. p y3 L local tempminp=r(tomc)
( @* a8 F5 S: ^0 |# i. k" j restore 5 P$ J3 m5 I. Y1 R6 u
}/ R: }+ y% p% m
. F T/ F8 B- V2 p. h& p* V else {
4 M" R# f6 ]" g# R
# p' `$ _# o) g. N0 q di "cannot find minp"
' s* b1 w/ A3 c5 _8 Z$ B
4 r& e5 ?, H* J: i7 A6 ^ restore
5 b. g# @: R/ u, M sum dx240
3 W7 v3 U# T& `9 Y local tempminp=r(mean)
, | G# j2 O9 |5 n G, c. T- J7 ?7 V
}$ T. [# f+ U; ?; i- n. C( H6 f
}0 ^: q# \# n5 f5 U- q
else {2 |4 a- S: O) E7 \8 b* l0 R- U
/ \1 n, Y8 k1 b2 D0 E$ J+ F keep if ddy240<=r(min)
) J3 Q6 f' }7 u8 h9 A ' j. r7 k d+ c% U) j& w
sum dx240
, p X$ f1 u) ^7 R ! D# }* ~) K0 c3 J+ b2 M7 [
local tempminp=r(min); R* |2 X4 {6 L" G! l
restore . I9 n4 ?8 ]! A* Q8 j" K8 O
}
# i8 A2 w" I1 _& G5 n2 {
# _% Y5 n: s" ^5 t3 W6 [! J9 o- A7 B0 H/ Z$ j
4 O; b. D/ r, C3 `9 v gen minp=`tempminp' in 1
9 |2 u5 F0 v$ d* [6 D *240 minp
/ j+ D `$ I* @+ f8 O+ ^4 ^' X# C% p! c/ Z2 t/ C3 N3 s
1 ]9 y$ |; N" I8 t 1 B/ C; P v0 [
preserve 7 H$ r4 W7 V4 y# |' u6 y) }
0 N5 _( K) S) M4 i- Y" s
sum v5 [aw =avol]% P) C5 h1 y" @6 | x% u" }
3 i8 f6 F! a7 h4 E
keep if dx240>r(mean)
$ ?% ` E9 E' M+ P. G0 [0 V5 u
. n7 O4 n" i8 u' a3 G" m sum ddy2405 r' I1 y$ l6 \/ V1 v, S
e3 Y# l6 R/ i) O( Q if r(max)>0 {
$ w- H% a$ M+ ?% |' D. S# r , E) ]2 P% i* z, k' r; P- L8 z/ V
keep if ddy240>=0' |) j( _/ u% u6 V7 o: o
" c0 [5 _; s; l' C
count
o" q& b* ~1 n& m
$ e! Y7 a% S5 V& `" [0 f if r(N)>2 {
$ T( ]: |1 U( Z$ H: ]" |) K ! s B( n- ~5 Q7 R( m# \' c
pkexamine dx240 dy240; y, a1 \: x6 i+ ]
- y! R% G. G1 g3 S local tempmaxp=r(tomc)
# q/ b3 `( d3 {" s- P, Y restore * t& F7 G* X" r) D, y
}
8 h) y" I% T+ @: v3 M( p 6 V0 _6 q/ y$ O: d" @
' p! u" Z: c& v else {$ p Z, V6 u* z* I1 P
restore
4 S' {% g% u% X7 a) s& n! b6 @ di "cannot find maxp": Q3 N" \ | \2 P
! u" ?2 ?. A2 r8 L
0 A1 R( @+ ]4 H5 l, v b sum dx240 m; F' [. m$ X
local tempmaxp=r(mean)
0 M- ^" a5 B7 [- s
, H6 q4 } \& F5 p* ]* d# q }
* I7 x+ D( Z' R( \9 {. t' t2 H! k% C
9 T8 F$ t, C) b4 a/ s }9 Q; }9 k1 t" M
6 W8 P! W4 f | E3 m6 D else {
5 Z S/ w# ~ {. b 8 t4 k$ ]( X M1 n* Y
keep if ddy240>=r(max)' u* w2 q' L6 f# A# a& f
9 @$ y9 j! E" C5 Y5 a$ D# C# p! }
sum dx2405 U. f: x& [/ e; i
3 O+ i4 j7 t4 ~8 u local tempmaxp=r(max) / g! _' M8 B9 _
restore
2 l3 D! A6 q5 s }3 @) O$ |6 ]. {
/ R% V0 S0 B- S8 a; s1 ]. G. j/ D# B. y- X5 ?: ^5 {
8 v! h4 [5 [$ u5 ?
6 u4 G. x+ K+ [. i( P. c! |) \ gen maxp=`tempmaxp' in 1+ Y' W$ l4 @ x
" X" f }9 U0 L4 t% K J+ E
*240maxp1 m- x. }; G; [( ^. {9 H
X1 m' B$ z1 h t
3 Y: v& b' I1 ?3 p *-------------ddy240pminp左侧高峰值-----+ x3 o t9 B) U# P
" a! y* X2 z2 J4 l
preserve
5 ?1 h0 S" f& k 9 x1 E# y% L$ F( [9 p
keep if dx240<`tempminp': v: j% J! S0 V/ i K9 T
! {, ^, e" g4 B8 V7 g+ Y6 W l
keep if ddy240>0
1 L9 D0 E* x, Q& R: B' C/ f- T) R( O ' |# Y; y# V( W
count
' Q+ a/ N v0 L) s, c 5 X: T# y* r7 W* d9 K; S
if r(N)>2 {: V% H8 h; _9 u% ?
% Z# d* j8 s" i; [ pkexamine dx240 ddy240
( o: w# N0 Z* _, w7 {6 K
; h( a1 N9 E n+ X local tempminphddy240=r(tomc) ! m# b u& L6 o) i
restore
! t' d7 J4 B) i) ~+ |$ ?& X; D; c }
9 i% I6 z6 i! l r- J; Y : o Z1 G! I' J4 k1 o+ _
else {
' S7 i- W" h! T; w4 l* W restore ' p; M/ h/ u# c, M- J8 |" k4 a9 v1 d! B
di "cannot find pminphddy240"
1 x; b$ P ?+ J( H3 L5 D , K* P+ a: J( ~8 |& l P0 K2 D
- @4 q: ? v# W# C3 X; S" N8 w sum dx240/ q6 }' S; X# j4 @
local tempminphddy240=r(mean) 8 @. ~8 \ g' F* L* E
! Q7 ], Y" K+ j$ N/ o* Y 8 S& T4 Y' [. E/ h
}% ^% x+ @( ^: c
) n+ P/ v' Z# e( b% [
9 [: m& J8 w9 j5 a& ?2 P
& @2 k" R/ N9 q. X: D
2 }! e7 V* k3 a# a, p* y
6 `6 {* L. Z5 h. Y + J [7 ?5 R: B: ~- h/ Y# |
gen pminphddy240=`tempminphddy240' in 1: e- y. w5 i" B ^: l4 R
6 n0 v1 M# A+ y9 r( ?# _( X
5 s. S p! u$ s! G
*-------------ddy240pminp右侧低峰值 -----------------9 {& J, [# _* C! w% o# d
preserve ; z; c9 {5 Z2 e3 z! |
- E. D: ]& y6 L: {9 \ keep if dx240>`tempminp'
`2 L- V2 v) R: j" F5 G) I$ E 7 o @) }+ f/ U9 _$ B3 N: W0 z4 z
keep if dx240<`tempmaxp'
' V6 O( b1 ^9 W$ x7 K# b( s 5 E, X( J; R$ }! g4 n( v
keep if ddy240<0
9 f; G$ _# F! T. T* ~ 4 n5 ?$ ~, K# {
gen temddy240=-ddy2400 l1 v" i/ Y% Z& O8 r0 g$ o- J
& p7 ^1 S6 `* i& I f
count4 v. k0 L8 ^ j( I+ s8 e# S7 l
- E/ E( E9 M; g" g3 c7 p. \ if r(N)>2 {3 q" O! C! E) b
6 b/ W# S5 g/ i, O+ r
pkexamine dx240 temddy2403 y5 o$ {; O- b! j% X- K( S
3 @1 P! p- r* r" H/ u! `' K5 B local tempminplddy240=r(tomc)
Z a% _7 I/ A7 N restore: h3 {1 Q+ |: D% a7 d
}9 D) l9 l, {& q5 T1 \
7 Q; d* D( C5 w7 q; }8 O* i else {, U. Q9 D" C; U5 }1 P% b3 ?
3 X% _& V5 Y8 g
di "cannot find pminplddy240"
; c2 v, o! |* g3 c4 L9 L/ b restore
+ Z- J* U0 b* V; D& R4 Q# k x
& s" o2 t% Q5 ^4 | sum dx240
' X8 T& ^6 x7 N; l local tempminplddy240=r(mean)
1 k0 k0 O, o( W) Q% v( [' B8 J
5 }" F$ J4 S8 y) M( m0 y/ @( m
- s5 T: |7 V* f }$ T6 \8 Z8 e: ?
+ [$ _) b% ^1 H/ b
' S8 \/ q6 F% { ! C/ h& G$ h$ y: h3 L
" E7 `+ X8 y8 o' _+ m. h5 k3 c
: c' j" {" i0 h" _/ U) o/ t+ y
gen pminplddy240=`tempminplddy240' in 1
% k* G3 z# E; M4 v & r! p. ~# l* v4 H; R
*-------------ddy240pmaxp左侧高峰值 -------------------: ]( h- m0 e% P a' c
" ^) E4 `* B$ M) x2 U. [ preserve
. R8 n, a4 D+ d- ?4 x - w( |1 E4 I8 G5 v( v
keep if dx240>`tempminp'! H( D" R, @6 O) E& C
4 j. x8 g8 w7 D6 g8 P
keep if dx240<`tempmaxp'
, g, S8 Q* t, `, R- Y' W% y
. e$ _, L5 ~; C" B- ? keep if ddy240>0/ j' _9 A; O2 }; t
count
: ~( b4 o! _8 \9 C
, w9 B1 Z- B* X2 N# T$ a; W% w' s if r(N)>2 {
! D$ h& R9 i6 ]
/ H7 o) _) ]: {; N! l2 u+ }: L' T pkexamine dx240 ddy240
0 x. A, D( Q6 V9 ?
7 o: a3 o4 k3 C local tempmaxphddy240=r(tomc) & g4 ~, L# s3 A$ W$ ^1 o
3 _9 ^8 q a. [0 q/ ]
restore+ ^# h% K* t" l8 H6 e( l, Z% L" k/ k
}+ C) p2 h: k5 `7 `* \! A7 P' f
4 Y( L2 j' L7 Z; t5 r: E; | else {
' ?8 Y9 F* A- A9 @ }. ?7 g* {, x
9 Z# X* _, Z3 D1 r di "cannot find pmaxphddy240"4 W/ H6 Z, A) v4 o. b; N, b( H
restore5 D: u) G4 ?$ o/ ~: ]* E) u/ F
# [. |& K2 I: W& T3 y5 q% H
sum dx240
+ Q( ~# j- j E local tempmaxphddy240=r(mean) 7 S/ }* A$ P7 a2 W! M2 H! }
+ u( A( v% \% p" J
0 B* m5 C$ U7 N& a) T' E8 {8 \
}
# N7 r. v% L% z$ a3 Z m* x; \% ^, J1 T- a2 W3 F/ R+ d _$ E
$ |3 K7 A- `4 t( y ' v. }9 e8 Q2 S+ w( L: C5 T' w
& h, ]3 e) R# w- }
+ }: p7 a& Q8 @3 |, q e# C
) P6 t7 h. q' E7 I6 t r gen pmaxphddy240=`tempmaxphddy240' in 1
2 K$ X/ P8 p9 O0 R* G, z5 X ) a$ \0 F( Y3 y% s% q6 j
% L$ \4 X. ~4 a$ ?( o, |
*-------------ddy240pmaxp右侧低峰值 -------------------
2 H% N; q, A" S
, v4 @6 X6 }* h- F9 A preserve 6 M$ R% E5 @, U% l
* N5 c, E" j# e9 B% A0 o9 H/ m" S
keep if dx240>`tempmaxp'9 @9 f6 _3 R2 u! d. F7 T
8 ^3 r8 N7 ^3 E9 G gen temddy240=-ddy240
- S) }3 D0 x6 @ ! y2 |. c/ z0 b2 U/ }
keep if temddy240>0
0 B& i: h( ?$ y) n1 ~6 v g $ \. L4 I" C# [0 M$ J
count
6 T6 Y( W1 n8 Z/ U$ S 8 F% q2 H8 ~0 U0 w4 a
if r(N)>2 {& s* }( H m" T* B% `
" F0 o/ Y4 [1 e1 H9 I. d2 r( W
pkexamine dx240 temddy240 ^& u0 F7 ]4 |, H' y
. \1 r/ v2 E3 F local tempmaxplddy240=r(tomc)
3 _6 ]* y, }! O' O2 ?" l& x restore' u9 j6 J3 f& }! W! _
}
c2 @$ Q2 u% C; M ( z: y6 s6 I% ^1 F
else {
, W! y4 k. M. u* R+ w z( [- J; } restore ~& c L$ X, b8 W0 t u# ?
di "cannot find pmaxlhddy240"4 o! c. B( N! {& v' j: t8 u
9 X0 P& @; W7 J+ Q, B1 k 1 z( g" U4 B) u2 t! m
sum dx240+ g( C) N" m: W9 F
local tempmaxplddy240=r(mean) in 1
0 U; L. S- P7 b$ e' G: p; l
0 N% V5 z4 q1 S9 g# ~4 U
8 W/ t ^$ m% l }% [ g' T( V8 n6 w$ C* B
' E! S* {/ S' H$ m2 O( h0 K, A
. H3 F5 w# m& e6 P: t' K
. Z* w' S9 x0 q) h$ ^9 S0 G + c" ~ X3 F: O4 k
- L8 A6 L, }$ t/ I Z% c & p0 r6 W6 ^$ X6 s
gen pmaxplddy240=`tempmaxphddy240' in 1% ]' j, q% P2 l+ w: X: N
( z: I D! h, F4 Q6 k- y
*-------------------------------------0 o6 y, j* Q- i' w( N
$ V0 F3 J' p* w$ ~( r- r gen price5d=v5 in 1/20
+ D' }7 ]+ I+ W- _* X / `) y6 z! j/ X$ @: M0 R
gen price5yy=_n in 1/20
% O& Z0 F8 }0 E. w 9 J! g; G; Z6 k, ?( [" @2 m, h
gen price5y=price5yy*(dy240max-dy240min)/20$ K7 T0 k! v8 J# _, `- r
- a0 D2 e6 K' D) S! p6 o& {+ T. T *price5y &price5d) S# a. L. k. S8 j3 _; p, k
& i1 u& @: c7 @/ f4 W
gen priceny=price5y in 1
" ~; q% S5 g+ U \* P5 P* T' T
7 x7 W2 j7 X# T! S* | P" u gen pricen=v5 in 18 `2 c3 |) n" j1 R! |. s* h
4 j% i7 H3 Q4 O
! G5 S9 H: k- s6 d
*priceny &pricen3 u+ o# Q" B- d- k$ g: V0 H
4 J- I% X; n+ y
/ t; |! ] B' H+ ~8 M% [
*-------------------------graph------------------$ W9 g v' R% b6 p9 N
% R l$ Z' X9 F/ D) Y
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)' Z0 J% u: h E
3 e n1 }0 } q1 o2 h6 d4 X( t* ---------可选项目----------------------0 {# @6 U8 r( F$ M
( C5 K; ^4 J" U2 s}/ ^0 x5 I/ R3 L) c
end3 q( i0 e+ \- w$ ?
|
|